質問編集履歴

1

コードの修正

2022/11/25 14:00

投稿

tackle.8
tackle.8

スコア9

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