?? 11.cpp
字號:
// 高斯.cpp : 定義控制臺應用程序的入口點。
//
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
double JY(double ab[][20],int m,int n)
{
int i,j,k;
double t=0,s=0;
t=fabs(ab[n][n]);
k=n;
for(i=n;i<m;i++)
if(fabs(ab[i][n])>t)
{
t=fabs(ab[i][n]);
k=i;
}
if(t==0)
cout<<"有誤"<<endl;
else
if(k!=n)
for(j=n;j<=m;j++)
{
s=ab[n][j];
ab[n][j]=ab[k][j];
ab[k][j]=s;
}
return 0;
}
int main ()
{
int i,j,m,k,t;
double f=0,n=0,ab[20][20]={0};
cout<<"請輸入未知數的個數:"<<endl;
cout<<"m=";
cin>>m;
cout<<"請輸入系數增廣矩陣:"<<endl;
for(i=0;i<m;i++)
for(j=0;j<=m;j++)
cin>>ab[i][j];
cout<<"---------------------------------------------------------------------"<<endl;
cout<<"您輸入的系數增廣矩陣為:"<<endl;
for(i=0;i<m;i++)
{
for(j=0;j<=m;j++)
cout<<setw(6)<<ab[i][j];
cout<<endl;
}
for(i=0;i<m;i++)
{
JY(ab,m,i);
f=ab[i][i];
for(j=0;j<=m;j++)
ab[i][j]/=f;
for(k=i;k<m;k++)
{
if(i!=k)
{
f=ab[k][i];
for(t=i;t<=m;t++)
{
ab[k][t]-=f*ab[i][t];
}
}
}
}
cout<<"經行變換處理后原矩陣變為:"<<endl;
for(i=0;i<m;i++)
{
for(j=0;j<=m;j++)
cout<<" "<<setw(5)<<ab[i][j];
cout<<endl;
}
for(i=m-1;i>=0;i--)
for(j=i+1;j<m;j++)
{
f=ab[i][j];
ab[i][m]-=f*ab[j][m];
}
cout<<"結果為:"<<endl;
for(i=0;i<m;i++)
cout<<setw(5)<<"X"<<i+1<<"= "<<ab[i][m]<<endl;
cin>>i;
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -