質問編集履歴

3

自分がうったコードの修正

2019/10/07 08:26

投稿

herumettokoala
herumettokoala

スコア4

test CHANGED
File without changes
test CHANGED
@@ -120,7 +120,7 @@
120
120
 
121
121
  duplicate = cnt;
122
122
 
123
- break;
123
+
124
124
 
125
125
 
126
126
 

2

試したことの編集

2019/10/07 08:26

投稿

herumettokoala
herumettokoala

スコア4

test CHANGED
File without changes
test CHANGED
@@ -160,15 +160,11 @@
160
160
 
161
161
  とするそうです。
162
162
 
163
- var cnt=0;をforeach外で定義すると、2が出力、中だと5が出力される。
164
-
165
- if (cnt != 1){break;}を消してみて、duplicate = cnt;だけ残したが、5は変わらなかった。ただ、その状況でvar cnt=0;をforeach外で定義すると、28が出力された。
166
-
167
163
 
168
164
 
169
165
  ### 補足情報(FW/ツールのバージョンなど)
170
166
 
171
- なお、このサイトでの質問が初めての為、マルチポストがダメなのを知らず、知恵袋の方に先に質問しています。知恵袋では心配でしたのでこちらにも質問しました。なお、知恵袋には正しいソースコードを、こちらでは自分が入力した間違いのソースコードを記入しています。知恵袋の方が深く教えていただいているので、そちらの方もご参照下さい。https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13214577238
167
+ なお、このサイトでの質問が初めての為、マルチポストがダメなのを知らず、知恵袋の方に先に質問しています。知恵袋では心配でしたのでこちらにも質問しました。なお、知恵袋には正しいソースコードを、こちらでは自分が入力した間違いのソースコードを記入しています。知恵袋の方でも教えていただいているので、そちらの方もご参照下さい。https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13214577238
172
168
 
173
169
  また、こちらの問題はpaizaラーニングというこちらのサイトの
174
170
 

1

実現したいことの具体化、自分が記入したコードと正解のコードの記入、マルチポストの対処

2019/10/07 08:22

投稿

herumettokoala
herumettokoala

スコア4

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,14 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
+ <ソースコードとして前提>
3
4
 
5
+ 用意している配列において、同じ要素の数をカウントして、その数を出力したい。(5を出力)
4
6
 
5
- 配列において、同じ要素の数をカウントして、その数を出力したい。(5を出力)
7
+ <自分として実現したいこと>
6
8
 
9
+ ただこのコードの
7
10
 
11
+ var cnt = 0;の位置がどこにあるべきかの理由を知りたいだけです。
8
12
 
9
13
 
10
14
 
@@ -14,21 +18,29 @@
14
18
 
15
19
  ```
16
20
 
17
- 問題答えのソースコードにおいて、
21
+ 自分では以下様なコードを入力しました。
18
22
 
19
-        if (cnt != 1)
23
+     var cnt = 0;
24
+
25
+     foreach (var pattern in array)
26
+
27
+ {
28
+
29
+ foreach (var word in array)
20
30
 
21
31
  {
22
32
 
23
- duplicate = cnt;
33
+ if (pattern == word)
24
34
 
35
+ {
36
+
25
- break;
37
+ cnt++;
38
+
39
+ }
26
40
 
27
41
  }
28
42
 
29
- が何をしているかわからない。
30
-
31
- た、
43
+ 調べ結果正解は
32
44
 
33
45
       foreach (var pattern in array)
34
46
 
@@ -50,7 +62,7 @@
50
62
 
51
63
  }
52
64
 
53
- で、foreachの中に以上のようにvar cnt=0;を置くのが正解らしいが、外に置くとなぜ数がうのわからない。
65
+ で、foreachの中に以上のようにvar cnt=0;を置くのが正解らしいが、foreachの中にvar cnt = 0;が入っているということは、毎回、var cnt = 0;が作られていませんか。foreachの中の状況がいまいちわかりません。外に置くとなぜかわからない。
54
66
 
55
67
  ```
56
68
 
@@ -62,7 +74,7 @@
62
74
 
63
75
  ```C#
64
76
 
65
- //これは正し答えのソースコードです。
77
+ //これは自分がうった間違いのソースコードです。
66
78
 
67
79
  using System;
68
80
 
@@ -82,11 +94,11 @@
82
94
 
83
95
 
84
96
 
97
+     var cnt = 0;
98
+
85
99
  foreach (var pattern in array)
86
100
 
87
101
  {
88
-
89
- var cnt = 0;
90
102
 
91
103
  foreach (var word in array)
92
104
 
@@ -104,15 +116,13 @@
104
116
 
105
117
 
106
118
 
107
- if (cnt != 1)
119
+
108
-
109
- {
110
120
 
111
121
  duplicate = cnt;
112
122
 
113
123
  break;
114
124
 
115
- }
125
+
116
126
 
117
127
  }
118
128
 
@@ -132,7 +142,23 @@
132
142
 
133
143
  ### 試したこと
134
144
 
145
+ 正解を調べたところ、発生している問題・エラーメッセージのようにするのが正解のようです。
135
146
 
147
+ また、duplicate = cnt;
148
+
149
+ break;
150
+
151
+ を、if (cnt != 1)
152
+
153
+ {
154
+
155
+ duplicate = cnt;
156
+
157
+ break;
158
+
159
+ }
160
+
161
+ とするそうです。
136
162
 
137
163
  var cnt=0;をforeach外で定義すると、2が出力、中だと5が出力される。
138
164
 
@@ -142,6 +168,10 @@
142
168
 
143
169
  ### 補足情報(FW/ツールのバージョンなど)
144
170
 
171
+ なお、このサイトでの質問が初めての為、マルチポストがダメなのを知らず、知恵袋の方に先に質問しています。知恵袋では心配でしたのでこちらにも質問しました。なお、知恵袋には正しいソースコードを、こちらでは自分が入力した間違いのソースコードを記入しています。知恵袋の方が深く教えていただいているので、そちらの方もご参照下さい。https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13214577238
145
172
 
173
+ また、こちらの問題はpaizaラーニングというこちらのサイトの
146
174
 
147
- ここにより詳細な情報を記載してください。
175
+ https://paiza.jp/works
176
+
177
+ レベルアップ問題集、Bランクレベルアップセット、C#編、文字と整数の組のソート2、STEP3の問題になります。