プロが教える店舗&オフィスのセキュリティ対策術

2次元配列(ここではa[M][N]とします)の値が全て0の時にだけある文章を実行したいのですが、
if(for(i=0; i<M; i++){
for(j=0; j<N; j++)
map[i][j] == 0;
}){ (実行したい文) }
という文をコンパイルしたところエラーが出てしまいました。
if文の判定条件中にfor文は使えないのでしょうか?
使えないのであれば、別の書き方を教えて戴けると嬉しいです。よろしくお願いします。

A 回答 (7件)

コンパイルして無いのですが、



flg =0;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
if(map[i][j] != 0)
{
flg = 1;
}
}
}
if(flg == 0)
{
実行したい文
}
    • good
    • 1
この回答へのお礼

実行できました。素早い返答ありがとうございます。

お礼日時:2007/01/16 01:23

いかんすごい勘違いをしてた。


他の皆さんのがあっています。
    • good
    • 1

marori3 さん、それだと map[i][j] に 0 が出現する度に繰り返し「行いたい処理」が実行されますがな。

    • good
    • 0

度々失礼します。


『mapの配列が0の時に処理をする』という前提で書いておきました。
for(i=0; i<M; i++){
for(j=0; j<N; j++){
if(map[i][j] == 0){
/*行いたい処理*/
}
}
}
問題なく動作すると思います。
    • good
    • 0

 


int func(int a[][N])
{
int i, j;
for(i = 0; i < M; i ++){
for(j = 0; j < N; j ++){
if(a[i][j]) return 0;
}
}
return 1;
}

int main(void)
{
if(func(a)){
実行したい文
}
 
    • good
    • 0
この回答へのお礼

実行できました。返答ありがとうございます。

お礼日時:2007/01/16 01:28

>Aの配列の内容が0の時と言うことでしょうか?


すいません
>aの配列の内容が0の時と言うことでしょうか?
です。
ソース内で言えばmapの配列の内容が0の時ということですか?

この回答への補足

言葉が足らず失礼しました。
mapの配列の内容が0の時ということです。

補足日時:2007/01/16 01:26
    • good
    • 0

判定条件内にfor文を使うことは出来ません。

(forは正否を返さないからです。)

>2次元配列(ここではa[M][N]とします)の値が全て0の時にだけある文章を実行したいのですが、
というのは、MとNが0の時と言うことでしょうか?
Aの配列の内容が0の時と言うことでしょうか?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A