回答編集履歴

11

修正

2016/11/29 06:43

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -274,7 +274,11 @@
274
274
 
275
275
  // 2枚目として処理
276
276
 
277
- if(!(a<0.5 || b<0.5))
277
+ if(a<0.5 || b<0.5)
278
+
279
+        i = 0;
280
+
281
+ else
278
282
 
279
283
  i++
280
284
 

10

修正

2016/11/29 06:43

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -208,7 +208,11 @@
208
208
 
209
209
  ```
210
210
 
211
+ int gazousyori(int);
212
+
213
+
214
+
211
- int gazousyori(number)
215
+ int gazousyori(int number)
212
216
 
213
217
  {
214
218
 

9

修正

2016/11/29 06:41

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -244,7 +244,7 @@
244
244
 
245
245
 
246
246
 
247
- int number; // 30枚の画像を走査するインデックス
247
+ int number=0; // 30枚の画像を走査するインデックス
248
248
 
249
249
  int i = 0; // 内枚目として処理するかのインデックス
250
250
 

8

修正

2016/11/29 06:40

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -228,7 +228,7 @@
228
228
 
229
229
  else
230
230
 
231
- return -1;
231
+ return 0;
232
232
 
233
233
 
234
234
 

7

ツイキ

2016/11/29 06:39

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -204,4 +204,98 @@
204
204
 
205
205
 
206
206
 
207
-
207
+ ###追記
208
+
209
+ ```
210
+
211
+ int gazousyori(number)
212
+
213
+ {
214
+
215
+ if(number<30)
216
+
217
+ {
218
+
219
+ // 画像処理
220
+
221
+ //
222
+
223
+
224
+
225
+ return 1;
226
+
227
+ }
228
+
229
+ else
230
+
231
+ return -1;
232
+
233
+
234
+
235
+
236
+
237
+ }
238
+
239
+
240
+
241
+ int main()
242
+
243
+ {
244
+
245
+
246
+
247
+ int number; // 30枚の画像を走査するインデックス
248
+
249
+ int i = 0; // 内枚目として処理するかのインデックス
250
+
251
+ while(gazousyori(number++))
252
+
253
+ {
254
+
255
+ if(i < 1)
256
+
257
+ {
258
+
259
+ // 1枚目として処理
260
+
261
+ if(!(a<0.4 || b<0.4))
262
+
263
+ i++;
264
+
265
+ }
266
+
267
+ elseif(i < 2)
268
+
269
+ {
270
+
271
+ // 2枚目として処理
272
+
273
+ if(!(a<0.5 || b<0.5))
274
+
275
+ i++
276
+
277
+ }
278
+
279
+ else
280
+
281
+ {
282
+
283
+ // 3枚目として処理
284
+
285
+ if(!(a<0.4 && b<0.4))
286
+
287
+ printf("一致");
288
+
289
+
290
+
291
+ i = 0;
292
+
293
+ }
294
+
295
+ }
296
+
297
+
298
+
299
+ }
300
+
301
+ ```

6

修正

2016/11/29 06:19

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -204,98 +204,4 @@
204
204
 
205
205
 
206
206
 
207
- ###追記
207
+
208
-
209
- ```
210
-
211
- int gazousyori(number)
212
-
213
- {
214
-
215
- if(number<30)
216
-
217
- {
218
-
219
- // 画像処理
220
-
221
- //
222
-
223
-
224
-
225
- return 1;
226
-
227
- }
228
-
229
- else
230
-
231
- return -1;
232
-
233
-
234
-
235
-
236
-
237
- }
238
-
239
-
240
-
241
- int main()
242
-
243
- {
244
-
245
-
246
-
247
- int number; // 30枚の画像を走査するインデックス
248
-
249
- int i; // 内枚目として処理するかのインデックス
250
-
251
- while(gazousyori(number++))
252
-
253
- {
254
-
255
- switch(i++)
256
-
257
- {
258
-
259
- case 0:// 1枚目
260
-
261
- if(a<0.4 || b<0.4)
262
-
263
- i = 0;
264
-
265
- break;
266
-
267
- case 1:// 2枚目
268
-
269
- if(a<0.5 || b<0.5)
270
-
271
- i = 0;
272
-
273
- break;
274
-
275
- default: // 3枚目
276
-
277
- if(a<0.4 && b<0.4)
278
-
279
- i = 0;
280
-
281
- else
282
-
283
- {
284
-
285
- printf("一致");
286
-
287
- i =0;
288
-
289
- }
290
-
291
- break;
292
-
293
- }
294
-
295
- }
296
-
297
-
298
-
299
- }
300
-
301
- ```

5

追記

2016/11/29 06:12

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -201,3 +201,101 @@
201
201
  }
202
202
 
203
203
  ```
204
+
205
+
206
+
207
+ ###追記
208
+
209
+ ```
210
+
211
+ int gazousyori(number)
212
+
213
+ {
214
+
215
+ if(number<30)
216
+
217
+ {
218
+
219
+ // 画像処理
220
+
221
+ //
222
+
223
+
224
+
225
+ return 1;
226
+
227
+ }
228
+
229
+ else
230
+
231
+ return -1;
232
+
233
+
234
+
235
+
236
+
237
+ }
238
+
239
+
240
+
241
+ int main()
242
+
243
+ {
244
+
245
+
246
+
247
+ int number; // 30枚の画像を走査するインデックス
248
+
249
+ int i; // 内枚目として処理するかのインデックス
250
+
251
+ while(gazousyori(number++))
252
+
253
+ {
254
+
255
+ switch(i++)
256
+
257
+ {
258
+
259
+ case 0:// 1枚目
260
+
261
+ if(a<0.4 || b<0.4)
262
+
263
+ i = 0;
264
+
265
+ break;
266
+
267
+ case 1:// 2枚目
268
+
269
+ if(a<0.5 || b<0.5)
270
+
271
+ i = 0;
272
+
273
+ break;
274
+
275
+ default: // 3枚目
276
+
277
+ if(a<0.4 && b<0.4)
278
+
279
+ i = 0;
280
+
281
+ else
282
+
283
+ {
284
+
285
+ printf("一致");
286
+
287
+ i =0;
288
+
289
+ }
290
+
291
+ break;
292
+
293
+ }
294
+
295
+ }
296
+
297
+
298
+
299
+ }
300
+
301
+ ```

4

修正

2016/11/29 06:10

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -178,11 +178,23 @@
178
178
 
179
179
  {
180
180
 
181
+ number++;
182
+
183
+ }
184
+
185
+ else
186
+
187
+ {
188
+
189
+ number = 0;
190
+
191
+ continue;
192
+
193
+ }
194
+
195
+
196
+
181
- printf("一致");
197
+ printf("一致");
182
-
183
- }
184
-
185
-
186
198
 
187
199
  number = 0;
188
200
 

3

追記

2016/11/29 05:30

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -119,3 +119,73 @@
119
119
  }
120
120
 
121
121
  ```
122
+
123
+
124
+
125
+ ```
126
+
127
+
128
+
129
+ 質問に追記されている条件を使うなら、ただし画像が30枚というのがどのように管理されているかわからないのでwhileの条件は日本語になっている、またnumberで1枚目なのか2枚目なのか3枚目なのか判断しているが使い道がわからないのでインクリメントとクリアしているだけですが、、
130
+
131
+ int number = 0;// 何枚目?
132
+
133
+ while(画像が30枚の最後に辿り着くまで)
134
+
135
+ {
136
+
137
+ if(a>0.4 && b>0.4)
138
+
139
+ {
140
+
141
+ number++;
142
+
143
+ }
144
+
145
+ else
146
+
147
+ {
148
+
149
+ number = 0;
150
+
151
+ continue;
152
+
153
+ }
154
+
155
+
156
+
157
+ if(a>0.5 && b>0.5)
158
+
159
+ {
160
+
161
+ number++;
162
+
163
+ }
164
+
165
+ else
166
+
167
+ {
168
+
169
+ number = 0;
170
+
171
+ continue;
172
+
173
+ }
174
+
175
+
176
+
177
+ if(a>0.4 && b>0.4)
178
+
179
+ {
180
+
181
+ printf("一致");
182
+
183
+ }
184
+
185
+
186
+
187
+ number = 0;
188
+
189
+ }
190
+
191
+ ```

2

追記

2016/11/29 05:28

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -61,3 +61,61 @@
61
61
  }
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ ##追記
68
+
69
+ ```
70
+
71
+ int main(){
72
+
73
+ int arr30[30] = {4,7,6,3,4,9,7,3,2,9,4,7,3,1,2,4,6,7,6,8,0,8,5,4,2,4,2,5,6,8};
74
+
75
+ int *p;
76
+
77
+ p = arr30;
78
+
79
+
80
+
81
+ int i=0; // 何枚目?
82
+
83
+ int arusuji = 5;
84
+
85
+
86
+
87
+ while(p<=&arr30[29])
88
+
89
+ {
90
+
91
+ if(i++<2)
92
+
93
+ {// 1 or 2 枚目の処理
94
+
95
+ if(*p++<arusuji)
96
+
97
+ i = 0;//1枚目に戻す
98
+
99
+ }
100
+
101
+ else
102
+
103
+ {// 3枚目の処理
104
+
105
+ if(*p++>=arusuji)
106
+
107
+ printf("一致\n");
108
+
109
+
110
+
111
+ i = 0;//3枚目の処理が終われば無条件に1枚目に戻す
112
+
113
+ }
114
+
115
+ }
116
+
117
+ return 0;
118
+
119
+ }
120
+
121
+ ```

1

追記

2016/11/29 05:20

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -1 +1,63 @@
1
1
  continueを使うのはどうですか?
2
+
3
+
4
+
5
+ ###追記
6
+
7
+ こんなの?
8
+
9
+ ```
10
+
11
+ int main(){
12
+
13
+ // 1-30枚の画像(number)
14
+
15
+ int arr30[30] = {4,7,6,3,4,9,7,3,2,9,4,7,3,1,2,4,6,7,6,8,0,8,5,4,2,4,2,5,6,8};
16
+
17
+ // ある数字とりあえず5とする
18
+
19
+ int arusuji = 5;
20
+
21
+ int i;
22
+
23
+
24
+
25
+ for(i=0;i<30;i+=3)
26
+
27
+ {
28
+
29
+ if(arr30[i]<arusuji)
30
+
31
+ {
32
+
33
+ // 1枚目がある数字より小なので次のループへ
34
+
35
+ continue;
36
+
37
+ }
38
+
39
+ if(arr30[i+1]<arusuji)
40
+
41
+ {
42
+
43
+ // 2枚目がある数字より小なので次のループへ
44
+
45
+ continue;
46
+
47
+ }
48
+
49
+
50
+
51
+ if(arr30[i+2]>=arusuji)
52
+
53
+ printf("一致");
54
+
55
+ }
56
+
57
+
58
+
59
+ return 0;
60
+
61
+ }
62
+
63
+ ```