回答編集履歴
2
コード、実行例の無用な空白を除去
answer
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
}
|
46
46
|
|
47
47
|
for (i = 0; i < N; i++) {
|
48
|
-
printf("%4d: 身長
|
48
|
+
printf("%4d: 身長=%d, 体重=%d\n", i + 1, h[i][0], h[i][1]);
|
49
49
|
}
|
50
50
|
|
51
51
|
return 0;
|
@@ -69,16 +69,16 @@
|
|
69
69
|
$ gcc -Wall t18b.c
|
70
70
|
$ ./a.out < data.txt
|
71
71
|
N=10
|
72
|
-
1: 身長
|
72
|
+
1: 身長=150, 体重=70
|
73
|
-
2: 身長
|
73
|
+
2: 身長=150, 体重=60
|
74
|
-
3: 身長
|
74
|
+
3: 身長=151, 体重=62
|
75
|
-
4: 身長
|
75
|
+
4: 身長=153, 体重=63
|
76
|
-
5: 身長
|
76
|
+
5: 身長=154, 体重=62
|
77
|
-
6: 身長
|
77
|
+
6: 身長=154, 体重=63
|
78
|
-
7: 身長
|
78
|
+
7: 身長=168, 体重=74
|
79
|
-
8: 身長
|
79
|
+
8: 身長=169, 体重=75
|
80
|
-
9: 身長
|
80
|
+
9: 身長=170, 体重=80
|
81
|
-
10: 身長
|
81
|
+
10: 身長=175, 体重=79
|
82
82
|
$
|
83
83
|
```
|
84
84
|
|
1
語句の修正
answer
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
> データを2次元配列変数に読み込むことと小さい順に並び替え方が分かりません
|
2
2
|
|
3
|
-
2次元配列に読み込むのであれば、要素ひとつひとつ入れていくのが確実です。
|
3
|
+
2次元配列に読み込むのであれば、要素をひとつひとつ入れていくのが確実です。
|
4
4
|
小さい順に並べ替え、は、「身長」をソート対象として「身長,体重」の組をこれまた実直に並べ替えます。
|
5
5
|
|
6
|
-
「`while ( scanf( “%d”, &a ) != EOF )` を使って」縛りがありましたので、あえてそ
|
6
|
+
「`while ( scanf( “%d”, &a ) != EOF )` を使って」縛りがありましたので、あえてそんなかたちで作ってみました。データとしては整数値の身長と体重を半角スペースで区切る、`身長 体重\n`1行を1人分としたものを想定しています。ソート方法としてはシンプルなバブルソートを自力で実装しています。
|
7
7
|
|
8
8
|
```C
|
9
9
|
#include <stdio.h>
|
@@ -52,7 +52,7 @@
|
|
52
52
|
}
|
53
53
|
```
|
54
54
|
|
55
|
-
10人分のデータを用意し、実行してみます。
|
55
|
+
確認用として簡単に10人分のデータを用意し、実行してみます。
|
56
56
|
```sh
|
57
57
|
$ cat data.txt
|
58
58
|
170 80
|
@@ -84,6 +84,6 @@
|
|
84
84
|
|
85
85
|
あえて残しておいたテーマ、残件としては
|
86
86
|
* 身長ではソートしているが体重は意識していないので、同じ身長でも体重は昇順になるとは限らない。
|
87
|
-
* 身長、体重は整数値。小数を扱うのであれば`scanf`などの書式設定文字列を変更する必要がある。
|
87
|
+
* 身長、体重は整数値。小数を扱うのであれば`scanf`などの書式設定文字列を変更する必要がある。
|
88
88
|
|
89
89
|
でしょうか。これらにも対応させたいのであれば、ぜひご自分で改修してみてください。
|