
No.3ベストアンサー
- 回答日時:
おそらく
if(A[0]==0 && A[1]==0 && ... && A[n-1]=0) {}
のことだと仮定して、
回数が固定でなく変数に縛られるような処理(この場合n個の要素をチェック)はfor文やwhile文などのループを用いる必要があります。
論理積&&を理解されているのならばfor文を使ってどう書けるかおわかりになると思います。
変数を1つ(仮にallzero)用意し、要素を1つずつチェックしてどれか1つでも0でなければallzeroが0、すべて0ならばallzeroが1となるようにすればよいのです。
ということで擬似Cコードで書くとこうなります。
allzero = 1;
for (iが0からn-1まで) {
if (A[i]が0でない) {
allzero = 0;
}
}
if (allzero) {
/* 全部0のときやりたいこと */
}
No.4
- 回答日時:
やりたいことは、次のことかな?
i = 0;
while( i <= n && a[i] == 0 ){
i++;
}
if( i > n ){
/* やりたいこと */
}
No.2
- 回答日時:
入門書等には「条件式」と書いてありますが、それは正確ではありません。
if (式) 〜
というのが正しいのです。
式なので
if ( 10 - 4 -6 )
if (921)
等も正しいif文です。
if( foo(x) )
if( var )
等のように、変数や関数も書けます。
判定は
式の値が0でない→ then部を実行
式の値が0 → elseを実行
となります。
では、 == とか < とか && とかがなにかと言えば
「指定した関係になっていたら 1 そうでないなら 0 になる演算子」
です。
A == 0
だったら
Aが0だったら1、そうでないなら 0
という式です
if (A==0 && B==0 && C==0) {
は次のものと一緒です
int f = (A==0) ;
f = f && (B==0) ;
f = f && (C==0) ;
if ( f ) 〜
判定部分を関数にして
int isZero(int a,int b,int c) {
int f = (a==0) ;
f = f && (b==0) ;
f = f && (c==0) ;
return f
}
...
if ( isZero(A,B,C) ) 〜
とも書けます。
と、なれば
A[1]==0 && A[2]==0 && ~~~~~~~&& A[n-1]==0 && A[n]==0
はどうすればいいか、わかるのではないでしょうか。
なお。
= も代入演算子 というもので
「(値を代入した上で)その値になる演算子」
です。
if ( A=0 ) 〜
は
A=0 ; /* 代入 */
if ( 0 ) 〜
とするのと同じことになり、常にelse側のみ実行されます。
if (A=0 && B=0 && C=0) {処理;}
では、例えA=B=C=0であっても「処理;」が実行されるとはありません。
(しかも、この後強制的にA=0になってしまいます)
ベテランでもたまにやらかす間違いです。
それと
A[1]=0 && ...
とありますが、正しいですか?
配列の宣言と、添字の範囲を間違えてないですか?
この回答へのお礼
お礼日時:2017/01/10 18:29
A[0]を使うとややこしくなりそうだったのでA[1]から値を代入しています。
関数にするですか……
関数のつくりかたを勉強してから使ってみたいと思います。
ありがとうございました
No.1
- 回答日時:
=なのか、==なのか…ってのはちゃんとしているとして……。
nが固定でない場合は、判定用の関数を作って、戻り値で結果を返却する。
という対応になるんじゃないですかね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
プログラミング 素数か素数では...
-
c言語の問題の説明、各所ごとに
-
DLLファイルの逆コンパイラにつ...
-
逆コンパイルと逆アセンブルの...
-
C言語について。
-
C#でログファイルにファイルパ...
-
終端記号、非終端記号とは
-
VisualStudioでC++クラスを追加...
-
int16_t の _t は何?
-
Cのオブジェクトファイルの逆ア...
-
C言語の関数のextern宣言
-
DNCL(共テ用プログラミング言語...
-
C#でTreeViewのCheckBoxのサイ...
-
CPUが16bitでも32bitOSでコンパ...
-
C言語 列挙型(enum型)変数について
-
コマンドプロンプトについて。
-
visual studioでフォームデザイ...
-
Windows Formアプリからコンソ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
LRESULTとHRESULT
-
ifdefとenum
-
【javaScript】KeyboardEventで...
-
#define 文
-
VBS 名前定義の確認→ありかなし...
-
fetchでreturnで戻り値
-
PHP + MySQL で登録時に重複チ...
-
アクティブなウィンドウのみ、...
-
TextChangeイベントが発生しない
-
イベントリスナーの重複登録に...
-
時間差を取得結果を求めるには
-
キーコード ?と/が同じですが...
-
SetTimer関数について
-
PHP requireの後にJS実行
-
int型やfloat型などの範囲を返...
-
callbackってなんですか。
-
プレロードイメージについて
-
関数
おすすめ情報