回答編集履歴
1
前半の区切りがわかりにくいので、修正にあわせて加筆
test
CHANGED
@@ -14,9 +14,21 @@
|
|
14
14
|
|
15
15
|
と、なっています。
|
16
16
|
|
17
|
+
|
18
|
+
|
17
19
|
int配列の初期値は0なので、0かインデックスが保存されます。
|
18
20
|
|
19
|
-
上記の例だと最初の2以外は全部、インデックスが保存され
|
21
|
+
上記の例だと最初の2以外は全部、インデックスが保存されるかつ、返却する配列は元のaと同じ大きさ。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
というわけで、やりたいことを書いてあることが違うので、うまくいきません。
|
26
|
+
|
27
|
+
~~~~~
|
28
|
+
|
29
|
+
で、ここから
|
30
|
+
|
31
|
+
やりたいことを、そのまま書く方法についてです。
|
20
32
|
|
21
33
|
|
22
34
|
|
@@ -28,15 +40,31 @@
|
|
28
40
|
|
29
41
|
まずは頭で考えたことを、愚直にコードにすればよいです。
|
30
42
|
|
43
|
+
人は頭が良いので、複数のことを同時に処理できちゃうのですが、プログラミングは
|
44
|
+
|
45
|
+
ひとつひとつの手順をきちんと書く(プログラミングする)必要があります。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
0. 配列aの要素の最大値を探して記録する
|
50
|
+
|
51
|
+
0. 記録した最大値が配列aの中に何個あるか記録する
|
52
|
+
|
53
|
+
0. 返却用の配列を作成して最大値のインデックスを記録する
|
54
|
+
|
55
|
+
|
56
|
+
|
31
57
|
maは、最大値を保存する変数と思われますので、上記の場合、6を保存します。
|
32
58
|
|
33
59
|
あとは、6が何回でるかをループで検索します。(2回)
|
34
60
|
|
35
|
-
|
61
|
+
最後に、要素数2の配列'mai'を作って、もう1回ループしてインデックスを格納します。
|
36
62
|
|
37
63
|
|
38
64
|
|
39
65
|
tkturbo さんの回答で十分だと思いますが、さらに愚直に。
|
66
|
+
|
67
|
+
効率性は、あとから気にすればよいですが、まずは頭で考えたことを、そのままコード化してみましょう。
|
40
68
|
|
41
69
|
|
42
70
|
|