今回は初期集団をランダムでだし、重ならないようにするプログラムを行っています。
しかし、エラーはないのですが、結果がうまく表示されません。よければご意見いただけると助かります。
#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; }
よろしくお願いいたします。