
C++でプログラムを作っています。
b0~b3どれかが1の時という条件指定と、さらにその上でb0~b3どれも1でなく、かつどれも同じ値でないという条件指定はどのように記述すればよいのですか?
ちなみに私は次の様にしたのですが、ビルドすると「error C2181: else 文が if と一致しません。」となってしまいました。
if((b[0]=1)||(b[1]=1)||(b[2]=1)||(b[3]=1));{
c[1]=c[1]+1;
}
else(b[0]!=b[1]!=b[2]!=b[3]!=1){
c[2]=c[2]+1;
}
もう一つこちらでもダメでした。
if((b[0]=1)||(b[1]=1)||(b[2]=1)||(b[3]=1));{
c[1]=c[1]+1;
}
else(b[0]!=b[1]!=b[2]!=b[3]){
c[2]=c[2]+1;
}
No.2ベストアンサー
- 回答日時:
まず文法がでたらめ。
else(条件)なんてC++の文法はありません。
たぶんelse if(条件)と書きたかったのでは?
あと
b[0]!=b[1]!=b[2]!=b[3]!=1
も式的に問題があるのと条件が的外れしています。elseに来た時点で全て1でない事は保障されるので、同じ値じゃないかチェックすれば良いです。
式的な問題は、b[0]!=b[1]の結果はtrue/falseですのでそれとb[2]を!=で比べると間違いなく意図通りに動作しません。
なので、抽象的に書きますがbo!=b1 and b1!=b2 and b2!=b3 and b0!=b2 ....と全部の条件を書き並べてください。
No.4
- 回答日時:
//どれかが1
if(b[0]==1 || b[1]==1 || b[2]==1 || b[3]==1)
{
}
//どれも同じ値でない
else if(b[0]!=b[1] && b[0]!=b[2] && b[0]!=b[3] && b[1]!=b[2] && b[1]!=b[3] && b[2]!=b[3])
{
}
//どれも1でなければ
else if(b[0]!=1 && b[1]!=1 && b[2]!=1 && b[3]!=1)
{
}
動作確認していないので間違っていたらすいません。
間違いがあったら誰か指摘してね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
DLLファイルの逆コンパイラにつ...
-
逆コンパイルと逆アセンブルの...
-
CSSが全く分かりません、お助け...
-
プログラマー達は何故、プログ...
-
Windows Formアプリからコンソ...
-
次の日本語の意味を教えて下さい
-
プログラム言語について c言語...
-
バッチファイルで以下のような...
-
Cのプログラムからアクセスでき...
-
C#でTreeViewのCheckBoxのサイ...
-
c#のTLS1.2での通信について
-
今ってプログラミング言語は何...
-
gccを行ってもexeファイルが生...
-
最初に聞かれたこと
-
プログラミング言語についてc++...
-
PIC12F1822でLED調光器を作りたい
-
C言語について(初心者)
-
プログラミングc++を全く分か...
-
C# で 数式文字列処理を処理す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
繰り返し1行~28行までを順順に...
-
MATLABにおける行の挿入方法
-
c言語
-
C言語で余りがマイナスになる場合
-
!(否定)演算子について
-
五目並べ
-
Matlabのspdiags関数
-
StandardMLで整数リストの奇数...
-
Z80のフラグレジスタについて
-
matlab、対角行列の作り方
-
H8マイコン C言語でのプロ...
-
Pythonの公式リファレンスガイド
-
最大値を見つけるプログラム。
-
【MATLAB】配列内の数値のキャ...
-
MATLABのデータ抽出についてお...
-
OPENCVを使ったエピポーラ幾何...
-
パイソンのプログラミングにつ...
-
教えて下さい
-
特定のPCだけ動作しないVBAマク...
-
配列数式の解除
おすすめ情報