質問編集履歴
1
コードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,6 +8,28 @@
|
|
8
8
|
### 該当のソースコード
|
9
9
|
|
10
10
|
```C
|
11
|
+
typedef struct {
|
12
|
+
double x;
|
13
|
+
double y;
|
14
|
+
} Location;
|
15
|
+
|
16
|
+
int load_location( char *fname, Location loc[] ) {
|
17
|
+
FILE *fp;
|
18
|
+
int n=0, i;
|
19
|
+
double x, y;
|
20
|
+
if ( (fp=fopen(fname,"r")) == NULL ) {
|
21
|
+
printf("%s not open\n", fname);
|
22
|
+
exit(0);
|
23
|
+
}
|
24
|
+
while(fscanf(fp, "%d%lf%lf", &i, &x, &y)==3) {
|
25
|
+
loc[n].x = x;
|
26
|
+
loc[n].y = y;
|
27
|
+
n++;
|
28
|
+
}
|
29
|
+
fclose(fp);
|
30
|
+
return n;
|
31
|
+
}
|
32
|
+
|
11
33
|
void calc_distance(Location loc[], double d[N][N], int n) {
|
12
34
|
int i, j;
|
13
35
|
for(i=0; i<n; i++){
|
@@ -19,19 +41,26 @@
|
|
19
41
|
|
20
42
|
int main(void){
|
21
43
|
|
44
|
+
Location loc[N];
|
45
|
+
int n;
|
46
|
+
n = load_location("tsp.txt",loc);
|
22
47
|
|
48
|
+
int p[n-1];
|
49
|
+
double d[N][N] = {};
|
50
|
+
|
51
|
+
|
23
|
-
calc_distance(loc,d,n);
|
52
|
+
calc_distance(loc,d,n); //ノード間距離計算
|
53
|
+
|
24
54
|
for(int i=0;i<n;i++){
|
25
55
|
for(int j=0;j<n;j++){
|
26
56
|
printf("%lf",d[i][j]);
|
27
57
|
}
|
28
58
|
}
|
29
59
|
|
60
|
+
|
30
61
|
return 0;
|
31
62
|
}
|
32
63
|
```
|
33
|
-
loc , d, nは定義済みで,locに座標が入っていることも確認しました。
|
34
|
-
dも0で初期化しています。
|
35
64
|
|
36
65
|
初心者質問で申し訳ないのですが、どなたか教えていただければ幸いです。
|
37
66
|
|