continueを使うのはどうですか?
###追記
こんなの?
int main(){
// 1-30枚の画像(number)
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};
// ある数字とりあえず5とする
int arusuji = 5;
int i;
for(i=0;i<30;i+=3)
{
if(arr30[i]<arusuji)
{
// 1枚目がある数字より小なので次のループへ
continue;
}
if(arr30[i+1]<arusuji)
{
// 2枚目がある数字より小なので次のループへ
continue;
}
if(arr30[i+2]>=arusuji)
printf("一致");
}
return 0;
}
##追記
int main(){
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};
int *p;
p = arr30;
int i=0; // 何枚目?
int arusuji = 5;
while(p<=&arr30[29])
{
if(i++<2)
{// 1 or 2 枚目の処理
if(*p++<arusuji)
i = 0;//1枚目に戻す
}
else
{// 3枚目の処理
if(*p++>=arusuji)
printf("一致\n");
i = 0;//3枚目の処理が終われば無条件に1枚目に戻す
}
}
return 0;
}
質問に追記されている条件を使うなら、ただし画像が30枚というのがどのように管理されているかわからないのでwhileの条件は日本語になっている、またnumberで1枚目なのか2枚目なのか3枚目なのか判断しているが使い道がわからないのでインクリメントとクリアしているだけですが、、
int number = 0;// 何枚目?
while(画像が30枚の最後に辿り着くまで)
{
if(a>0.4 && b>0.4)
{
number++;
}
else
{
number = 0;
continue;
}
if(a>0.5 && b>0.5)
{
number++;
}
else
{
number = 0;
continue;
}
if(a>0.4 && b>0.4)
{
number++;
}
else
{
number = 0;
continue;
}
printf("一致");
number = 0;
}
###追記
int gazousyori(int);
int gazousyori(int number)
{
if(number<30)
{
// 画像処理
//
return 1;
}
else
return 0;
}
int main()
{
int number=0; // 30枚の画像を走査するインデックス
int i = 0; // 内枚目として処理するかのインデックス
while(gazousyori(number++))
{
if(i < 1)
{
// 1枚目として処理
if(!(a<0.4 || b<0.4))
i++;
}
elseif(i < 2)
{
// 2枚目として処理
if(a<0.5 || b<0.5)
i = 0;
else
i++
}
else
{
// 3枚目として処理
if(!(a<0.4 && b<0.4))
printf("一致");
i = 0;
}
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/29 03:58
2016/11/29 04:42
2016/11/29 04:54
2016/11/29 05:28
2016/11/29 05:43
2016/11/29 06:12 編集
2016/11/29 06:19
2016/11/29 06:23
2016/11/29 06:39
2016/11/29 06:44
2016/11/29 06:46
2016/11/29 06:48
2016/11/29 06:55