下面是引用allenmail于2005-05-29 15:07发表的 :
可以请楼上大大给我详细的程式码吗?
因为我不太会写
麻烦你啰
因为你的题目还算有趣....
所以帮你写了部分的程式....
主要的消去法已经帮你写好了...
剩下就是判断你题目的解....
我是依照你的题目来写的....
所以这题的答案是无解....
后面的判断写法很简单...
就留给你自己写啰....
PS.//测试宣告和//进度测试的回圈你可以杀掉...我只是测试用的...记的自己把< i >改成[ i ]....
复制程式
#include <iostream.h>
#include <iomanip.h>
void main()
{
int i,j,k;
float temp;
float arg[3][3] = {{1,2,1},{2,1,-1},{-1,1,2}};
float sol[3] = {4,-1,3};
//测试宣告
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
cout<<setw(4)<<arg[i][j];
}
cout<<setw(4)<<sol[i]<<endl;
}
//主要演算法
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
if (i!=j)
{
temp = arg[i][i] / arg[j][i];
for (k=0;k<3;k++)
{
arg[j][k] *= temp;
arg[j][k] = arg[i][k] -arg[j][k];
}
sol[j] *= temp;
sol[j] = sol[i] - sol[j];
}
}
//进度测试
cout<<endl<<endl;
for (int x=0;x<3;x++)
{
for(int y=0;y<3;y++)
{
cout<<setw(6)<<arg[x][y];
}
cout<<setw(6)<<sol[x]<<endl;
}
}
//这边加入你判断的部分
}