回答編集履歴

4

間違った回答の削除

2017/05/02 15:14

投稿

otftrough
otftrough

スコア476

test CHANGED
@@ -1,5 +1,3 @@
1
- 偶数と奇数の判断は、``if (data[i] % 2 != 0)``を``if ((double)data[i] % 2.0 != 0)``にするのが一番手っ取り早いと思います。
2
-
3
1
  偶数かどうかを判断して、奇数の処理はelse{}に入れてやったほうがエラーの原因がわかりやすいと思います。
4
2
 
5
3
  未割当のローカル変数が使われましたってのは、要は( ´∀`)<ぬるぽ

3

コード追加

2017/05/02 15:14

投稿

otftrough
otftrough

スコア476

test CHANGED
@@ -3,3 +3,65 @@
3
3
  偶数かどうかを判断して、奇数の処理はelse{}に入れてやったほうがエラーの原因がわかりやすいと思います。
4
4
 
5
5
  未割当のローカル変数が使われましたってのは、要は( ´∀`)<ぬるぽ
6
+
7
+
8
+
9
+ あまりよくありませんが、一応同じプログラムを書いてみました。
10
+
11
+ ```
12
+
13
+ using System;
14
+
15
+
16
+
17
+ class a{
18
+
19
+
20
+
21
+ static void Main(){
22
+
23
+
24
+
25
+ Random rnd = new Random();
26
+
27
+ int[] data = new int[10];
28
+
29
+
30
+
31
+ for(int i = 0; i < data.Length; i ++){
32
+
33
+
34
+
35
+ data[i] = rnd.Next(1, 101);
36
+
37
+ }
38
+
39
+
40
+
41
+ string Odd = "";
42
+
43
+ string Even = "";
44
+
45
+
46
+
47
+ for(int i = 0; i < data.Length; i ++){
48
+
49
+
50
+
51
+ if((double)data[i] % 2.0 == 0) Even += data[i] + " ";
52
+
53
+ else Odd += data[i] + " ";
54
+
55
+ }
56
+
57
+
58
+
59
+ Console.WriteLine("奇数: " + Odd + "\n偶数: " + Even);
60
+
61
+ Console.ReadLine();
62
+
63
+ }
64
+
65
+ }
66
+
67
+ ```

2

追加

2017/05/02 07:47

投稿

otftrough
otftrough

スコア476

test CHANGED
@@ -1,3 +1,5 @@
1
1
  偶数と奇数の判断は、``if (data[i] % 2 != 0)``を``if ((double)data[i] % 2.0 != 0)``にするのが一番手っ取り早いと思います。
2
2
 
3
3
  偶数かどうかを判断して、奇数の処理はelse{}に入れてやったほうがエラーの原因がわかりやすいと思います。
4
+
5
+ 未割当のローカル変数が使われましたってのは、要は( ´∀`)<ぬるぽ

1

内容追加と簡潔化

2017/05/02 07:27

投稿

otftrough
otftrough

スコア476

test CHANGED
@@ -1,35 +1,3 @@
1
- っと思いつく方法は2つあります。
1
+ 偶数と奇数の判断は、``if (data[i] % 2 != 0)``を``if ((double)data[i] % 2.0 != 0)``にするのが一番手取り早いと思います。
2
2
 
3
- ```
4
-
5
- /* 1つめ */
6
-
7
- if((double)(data[i] / 2) == (double)data[i] / 2.0) //trueなら偶数
8
-
9
-
10
-
11
- /* 2つめ */
12
-
13
- string str = data[i].Substring(str.Length - 1);
14
-
15
- String gusu = "02468";
16
-
17
- if(gusu.IndexOf(str) >= 0) //trueなら偶数
18
-
19
- ```
20
-
21
- 1つめは、(int)÷2と(double)÷2が同じかどうかです。
22
-
23
- 例えば3÷2の場合、前者なら1、後者なら1.5になりますので、==の判断ではfalseになって、奇数だということになります。
24
-
25
- 2つめの方はコードがあってるかどうか確かめてないのでわかりませんが、
26
-
27
- "gusu"の中、strの最後の文字が含まれているかどうかの判断です。
3
+ かどうかを判断して、奇数の処理はelse{}れてやったほがエラーの原因がわりやいと思います
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
- あ、``if (data[i] % 2 != 0)``を``if ((double)data[i] % 2.0 != 0)``にするのが一番手っ取り早いと今気づきました。