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

回答編集履歴

1

追記

2020/07/20 01:29

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -1,1 +1,35 @@
1
- 「入力された x[10] の中から最も小さい x[i]を見つけ、i と x[i] をプリントする」なら、できますか?
1
+ 「入力された x[10] の中から最も小さい x[i]を見つけ、i と x[i] をプリントする」なら、できますか?
2
+
3
+ [追記] できてないみたいなので
4
+ ```C
5
+ // 入力された x[10] の中から最も小さい要素のインデクスと値をプリントする
6
+ #include <stdio.h>
7
+ #include <math.h>
8
+
9
+ #define N 10
10
+
11
+ int main(void) {
12
+ int i;
13
+ double x[N] = { 9.9, 7.7, 5.7, 3.7, 1.1, 2.2, 4.4, 6.6, 8.8, 10.10 };
14
+
15
+ // とりあえず、「0番目が一番小さい」ことにしておく
16
+ int min_index = 0;
17
+ double min_value = x[0];
18
+ for ( i = 0; i < N; i++) {
19
+ // より小さい値を見つけたら記録更新
20
+ if ( min_value > x[i] ) {
21
+ min_index = i;
22
+ min_value = x[i];
23
+ }
24
+ }
25
+
26
+ printf("min-index=%d min-value=%lf\n", min_index, min_value);
27
+
28
+ return 0;
29
+ }
30
+ ```
31
+
32
+ これが理解できるなら
33
+ 「入力された x[i],y[i](i=0~N-1) の中から原点からの距離が最も小さい要素の
34
+  インデクスと値をプリントする」
35
+ まであと一歩。