下面给出了一个C++程序,用于找到联立线性方程中x和y的值。为什么对于这个C++程序中的相同输入,它给出了两个不同的结果
using namespace std;
#include<iostream>
int main()
{
int m,n,a,b,c,p,q,r,x,y;
cout<<"For the system of equation ax+by=c and px+qy=r,";
cout<<"\nGive the value of a,b,c,p,q and r respectively:";
cin>>a>>b>>c>>p>>q>>r;
m=q-((p*b)/a);
n=r-((p*c)/a);
if(q==0)
cout<<"No solution";
else
y=(n/m);
x=(c-(b*y))/a;
cout<<"x= "<<x<<" & y= "<<y<<"\n";
return 0;
}
与此程序的问题是,当我给的输入作为
3 1 13 1 6 -7我得到X = 4 & Y = -1
即
对于由= c和PX + QY = R系统方程AX +的,
给分别的A,b,C,p,q和r的值:3 1 13 1 6 -7
X = 4 & Y = -1
现在再次我给相同的输入,但是在一个小的不同的方式
1 6-7 3 1 13 I得到X = 5 & Y = -2
即
方程AX +的系统通过= C和PX + QY = R,
分别得到A,B,C,P,q和r的值:1 6-7 3 1 13
X = 5 & Y = -2
正确的答案为x = 5 &ÿ = -2。
现在的问题是,我们有两个方程,我们要解决的x和y。这里用什么方法解决这些方程并不重要,因为通过任何方法,我们将分别得到x和y的值分别为5和-2。
因此,对于相同的两个方程式,为什么我得到两种不同的解决方案。
请帮助我理解我的程序中的问题。