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

回答編集履歴

1

追加

2018/12/13 14:54

投稿

otn
otn

スコア86365

answer CHANGED
@@ -1,3 +1,21 @@
1
1
  > 0にするやり方
2
2
 
3
- `kazu[i][j]=0;`です。
3
+ `kazu[i][j]=0;`です。
4
+ #追記
5
+ 「0にするやり方」がわからないのじゃなくて、「0にするかどうかの判断」が分からないのでしょうか?
6
+ `c`が同じ数が幾つ続いたかを表していますので、`e`という変数は不要です。
7
+ `for`を抜けたときに`c>=3`であれば、ゼロにすべきと言うことになります。
8
+ また、配列をオーバーしないために、`j+c<5`という条件も必要です。
9
+ ```C
10
+ for(i=0;i<a;i++){
11
+ for(j=0;j<5;j++){
12
+ for(c=1;j+c<5 && kazu[i][j]==kazu[i][j+c];c++);
13
+ if(c>=3){
14
+ for(c--;c>=0;c--){
15
+ kazu[i][j+c]=0;
16
+ }
17
+ break;
18
+ }
19
+ }
20
+ }
21
+ ```