今回は初期集団をランダムでだし、重ならないようにするプログラムを行っています。
しかし、エラーはないのですが、結果がうまく表示されません。よければご意見いただけると助かります。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define PS 10 /*遺伝子プール*/
#define GL 10 /*長さ*/
#define start 0/*スタート*/
#define goal 9/*ゴール*/
int xrand(int, int);
int main(void)
{
int p[PS][G[/url];
int g[G[/url];
int i,j,k,m;
int rnd;
srand((unsigned)time(NULL));
printf("初期集団\n");
for(i=0;i<PS;i++){
for(j=1;j<GL-1;j++){
rnd=xrand(2,8);
g[rnd]=1;
if(g[j]==0){
p[j]=rnd;
}else{
continue;
}
//printf("%d",p[j]);
}
//printf("\n");
}
for(i=0;i<PS;i++){
for(j=0;j<GL;j++){
if(j==0){
p[0]=start;
}else if(j==9){
p[j]=goal;
}
printf("%d",p[j]);
}
printf("\n");
}
}
int xrand(int lower, int upper)
{
return (upper - lower + 1) * (int)rand() / 32768 + lower;
}よろしくお願いいたします。