初歩的な質問などがあるかもしれませんがどうかよろしくお願いいたします。
こちらがプログラムです。
#include <stdio.h> int a = 3, b = 6, c = 2, d = 1, e = 2, f = 8, g = 7, h = 3, i = 3; int x1=2,x2=4,x3=1; int main(void) { a *x1*x1 + b * x1 + c == 32;//(1) d *x2*x2 + e * x2 + f == 40;//(2) g *x3*x3 + h * x3 + i == 35;//(3) d*x2*x2 - (a*x1*x1*(d*x2*x2 /a*x1*x1)) + e*x2 - (b*x1*(a*x2*x2 /d* x1*x1)) - f - (c*(a*x2*x2 /d*x1*x1)); printf("%d", d*x2*x2 - (a*x1*x1*(d*x2*x2 /a*x1*x1)) + e*x2 - (b*x1*(a*x2*x2 /d*x1*x1)) - f - (c*(a*x2*x2 /d*x1*x1))); return 0; }
以上のプログラムは(2)-(1) × dx2^2/ax1^2の計算するものです。
質問1
ax1^2+bx1+c=32をプログラムにする際にax1x1+bx1+c==32と書きましたが、
warnigから==は作用しないとでました。ax1x1+bx1+c==32のように「=」の役割を果たす演算子を教えていただけないでしょうか?
もちろん「==」が条件式として使うことはわかるのですが、調べても見つからず質問しました。
質問2
書いた計算式が正しいかどうか確認するために一時的に**int x1=2,x2=4,x3=1;**と置きました。
正しい計算結果は‐2.5556となるはずなのですが2912ととんでもない結果が出てきます。
プログラムの原型をとどめたまま、すなわち、行列ではなくプログラムに書いたように方程式のまま正しい値を導くにはどうしたらよいでしょうか?
今回書いたプログラムは読みにくいかもしれませんが、まずは思いついた式を(あえて行列を使わずに)そのままプログラムにしてみるところから始め最終的にはより見やすく読みやすいコードにしていきたいます。
どうか皆様の力を貸していただきたいです。
以下は警告なのです。
1>------ ビルド開始: プロジェクト: 自作連立方程式の計算, 構成: Release x64 ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(391,5): warning MSB8028: 中間ディレクトリ (x64\Release) に別のプロジェクト (連立方程式の計算.vcxproj) と共有されているファイルが含まれています。これにより、クリーンしてリビルド動作が適切に行われない可能性があります。 1>Source.cpp 1>c:\users\daito\source\repos\連立方程式の計算\連立方程式の計算\source.cpp(12): warning C4553: '==': 演算子にプログラム上の作用がありません。'=' を意図しましたか? 1>c:\users\daito\source\repos\連立方程式の計算\連立方程式の計算\source.cpp(13): warning C4553: '==': 演算子にプログラム上の作用がありません。'=' を意図しましたか? 1>c:\users\daito\source\repos\連立方程式の計算\連立方程式の計算\source.cpp(14): warning C4553: '==': 演算子にプログラム上の作用がありません。'=' を意図しましたか? 1>c:\users\daito\source\repos\連立方程式の計算\連立方程式の計算\source.cpp(19): warning C4552: '-': 演算子にプログラム上の作用がありません。作用を伴う演算子を使用してください 1>コード生成しています。 1>1 of 5 functions (20.0%) were compiled, the rest were copied from previous compilation. 1> 0 functions were new in current compilation 1> 0 functions had inline decision re-evaluated but remain unchanged 1>コード生成が終了しました。 1>連立方程式の計算.vcxproj -> c:\users\daito\source\repos\連立方程式の計算\x64\Release\自作連立方程式の計算.exe 1>プロジェクト "連立方程式の計算.vcxproj" のビルドが終了しました。 ========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/18 19:10
2018/07/28 09:20