以下の 2 つの未知数を持つ 2 つの連立方程式を解きます。
a1、b1、c1、a2、b2、c2は、ユーザ自身が入力する。
最初に問題の数学的な解決策を見つけようとしましたが、遠くまで行けないようです..
私がこれまでに試したことは次のとおりです。
- 最初の方程式から y を見つけます。(b1y = c1-a1x、y = (c1-a1x)/b1)
- 次に、2 番目の方程式の y を置き換えます。この場合、x の場合、未知数が 1 の方程式が 1 つ得られます。しかし、私は方程式を解くことができません.私はいくつかの奇数/方程式を取得し、ここで停止しました.
これは正しいですか、それとももっと簡単な方法はありますか?
現在のコード:
#include <iostream>
using namespace std;
int main()
{
int a1, b1, c1, a2, b2, c2;
cout << "Enter the values for the first equation." << endl;
cout << "Enter the value for a1" << endl;
cin >> a1;
cout << "Enter the value for b1" << endl;
cin >> b1;
cout << "Enter the value for c1" << endl;
cin >> c1;
cout << "Enter the values for the second equation." << endl;
cout << "Enter the value for a2" << endl;
cin >> a2;
cout << "Enter the value for b2" << endl;
cin >> b2;
cout << "Enter the value for c2" << endl;
cin >> c2;
cout << "Your system of equations is the following:" << endl;
cout << a1 << "x+" << b1 << "y=" << c1 << endl;
cout << a2 << "x+" << b2 << "y=" << c2 << endl;
if ((a1 * b2) - (b1 * a2) == 0){
cout << "The system has no solution." << endl;
}
else{
res_x = ((c1*b2) - (b1*c2))/((a1*b2)-(b1*a2));
res_y = ((a1*c2) - (c1*a2)) / ((a1*b2) - (b1*a2));
cout << "x=" << res_x << " y=" << res_y << endl;
}
return 0;
}