前提
座標の距離計算を行い,新たに距離行列に代入する関数を作りました。
発生している問題・エラーメッセージ
main関数で関数呼び出しを行い,printfで出力を試みようと思うも、エラーはでず出力もされません。
該当のソースコード
C
1typedef struct { 2 double x; 3 double y; 4} Location; 5 6int load_location( char *fname, Location loc[] ) { 7 FILE *fp; 8 int n=0, i; 9 double x, y; 10 if ( (fp=fopen(fname,"r")) == NULL ) { 11 printf("%s not open\n", fname); 12 exit(0); 13 } 14while(fscanf(fp, "%d%lf%lf", &i, &x, &y)==3) { 15 loc[n].x = x; 16 loc[n].y = y; 17 n++; 18 } 19 fclose(fp); 20 return n; 21} 22 23void calc_distance(Location loc[], double d[N][N], int n) { 24 int i, j; 25 for(i=0; i<n; i++){ 26 for(j=0; j<n; i++){ 27 d[i][j] = sqrt(pow(loc[i].x - loc[j].x,2) +pow(loc[i].y - loc[j].y,2)); 28 } 29 } 30} 31 32int main(void){ 33 34Location loc[N]; 35int n; 36n = load_location("tsp.txt",loc); 37 38int p[n-1]; 39double d[N][N] = {}; 40 41 42calc_distance(loc,d,n); //ノード間距離計算 43 44for(int i=0;i<n;i++){ 45 for(int j=0;j<n;j++){ 46 printf("%lf",d[i][j]); 47 } 48} 49 50 51return 0; 52}
初心者質問で申し訳ないのですが、どなたか教えていただければ幸いです。
回答3件
あなたの回答
tips
プレビュー