teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2018/07/05 09:41

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -10,17 +10,15 @@
10
10
  iが初期化されていません。宣言時に0に初期化すると良いでしょう。
11
11
 
12
12
  ---
13
- また、max_and_minの第二引数は有効なデータの個を渡すべきです。
13
+ また、n(データ数)の入力はループ前に受け取るべきです。
14
- > ```C
14
+ そうすれば次のように巡回できますね。
15
- max_and_min(array, n, &max, &min);
16
- > ```
17
-
18
- ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
19
15
  ```C
16
+ for(int i = 0; i < n; ++i) {
20
- max_and_min(array, i-1, &max, &min); // i個入力したが、最後の0は無視したい
17
+ scanf("%d", &array[i]);
18
+ }
21
19
  ```
22
20
 
23
- 不正な入力ないと仮定できるなら、0を番兵して配列巡回して良いです。
21
+ nすぎプログラム終了させるの簡単です。
24
22
 
25
23
  コードの書き方について
26
24
  ---

2

追記

2018/07/05 09:41

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -9,6 +9,19 @@
9
9
 
10
10
  iが初期化されていません。宣言時に0に初期化すると良いでしょう。
11
11
 
12
+ ---
13
+ また、max_and_minの第二引数は有効なデータの個数を渡すべきです。
14
+ > ```C
15
+ max_and_min(array, n, &max, &min);
16
+ > ```
17
+
18
+ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
19
+ ```C
20
+ max_and_min(array, i-1, &max, &min); // i個入力したが、最後の0は無視したい
21
+ ```
22
+
23
+ 不正な入力がないと仮定できるなら、0を番兵にして配列を巡回しても良いです。
24
+
12
25
  コードの書き方について
13
26
  ---
14
27
  teratailには、上記のようにコードを見やすく表示する機能があります。

1

追記

2018/07/05 09:36

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,1 +1,16 @@
1
+ > ```C
2
+ int i, n, array[NUM], max, min;
3
+ do {
4
+ scanf("%d\n", &n);
5
+ scanf("%d",&array[i]);
6
+ i++;
7
+ } while (n != 0);
8
+ > ```
9
+
1
- iが初期化されていません。宣言時に0に初期化すると良いでしょう。
10
+ iが初期化されていません。宣言時に0に初期化すると良いでしょう。
11
+
12
+ コードの書き方について
13
+ ---
14
+ teratailには、上記のようにコードを見やすく表示する機能があります。
15
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
16
+ ![C](4c6e48a3bd0707d89f61b901fd1f8915.gif)