主题:[讨论]求教高手,急!
我编了一段程序如下:
#include "iostream.h"
void main()
{
int a[3][2],b[2][2],i,j,k,c,m[3];
float l[3],d[2],e,f,f1,f2,x1,x2,g,y[3];
cout<<"输入:";
cin>>a[0][0]>>a[0][1]>>a[1][0]>>a[1][1]>>a[2][0]>>a[2][1]>>m[0]>>m[1]>>m[2]>>l[0]>>l[1]>>l[2];
for(i=0;i<3;i++)
for(j=0;j<2;j++)
{c=0,e=0;
for(k=0;k<3;k++)
{c+=m[k]*(a[k][i]*a[k][j]);
e+=m[k]*(a[k][j]*l[k]);
}
b[i][j]=c;
d[j]=e;
}
f=(b[0][0]*b[1][1])-(b[0][1]*b[1][0]);
f1=(d[0]*b[1][1])-(d[1]*b[0][1]);
f2=(b[0][0]*d[1])-(b[1][0]*d[0]);
x1=f1/f;
x2=f2/f;
float x[2]={x1,x2};
{for(i=0;i<3;i++)
{ g=0;
for(j=0;j<2;j++)
g+=a[i][j]*x[j];
y[i]=g;
}
}
cout<<"输出:"<<y[0]<<" "<<y[1]<<" "<<y[2]<<endl;
}
输入数据:2 1 3 2 4 1 1 1 1 3.0 5.1 4.6
运行结果x1和x2正确,y[1]错误,y[2]和y[3]却是正确的,如果把算y[i]的程序单独运行,结果又正确了,实在不知道问题出在哪里?
本人菜鸟一个,那位高手指导下,谢谢!