?? 迭代法解線性方程組.cpp
字號:
// 迭代法解線性方程組.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream.h"
#include "iomanip.h"
int main(int argc, char* argv[])
{
cout << " ****************************************" << endl;
cout << " ** **" << endl;
cout << " ** 迭代法解線性方程組 **" << endl;
cout << " ** **" << endl;
cout << " ****************************************" << endl << endl;
double B[4][5]={9,15,3,-2,7,7,2,1,-2,4,1,3,2,13,0,-2,-2,11,5,-1}; //增廣矩陣
int i,j,k,m;
//消元過程
for (i=0;i<2;i++)
{
double a;
a=B[i][i];
for (j=i;j<4;j++)
B[i][j]=B[i][j]/a;
for (k=i+1;k<3;k++)
{
double b;
b=B[k][i];
if (b==0)
continue;
else
{
for (m=i;m<4;m++)
B[k][m]=B[k][m]-b*B[i][m];
}
}
}
cout << "化簡后的右上三角矩陣為:" << endl;
for (i=0;i<3;i++)
{
cout.setf(ios::left);
for (j=0;j<4;j++)
cout << setw(12) << B[i][j];
cout << endl;
}
cout << endl;
//回代過程
double X[3]; //方程組的解x1,x2,x3
for (i=2;i>=0;i--)
{
for (j=i+1;j<3;j++)
B[i][3]=B[i][3]-B[i][j]*X[j];
X[i]=B[i][3]/B[i][i];
}
cout << "所求方程組的解為:";
for (i=0;i<=3;i++)
cout << "x" << i+1 << "=" << X[i] << ", ";
cout << endl;
return 0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -