⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 距阵的解.cpp

📁 求解方程组。输入方程组的系数距阵
💻 CPP
字号:
#include<iostream>
#include<fstream>
using namespace std;
void jie(float num[][12],int n)
{
 int i,j,l,m;
 float k,x[10];
 for(i=0;i<n-1;i++)
  {
   for(l=i;l<n;l++)
    if(num[l][i]!=0) break;
   if(l==n)
    {
     cout<<"方程不是唯一解"<<endl;
     break;
     }
   if(l!=i)
    for(m=i;m<n+2;m++)
    {
     k=num[i][m];
     num[i][m]=num[l][m];
     num[l][m]=k;
      }
    for(j=i+1;j<n;j++)
     {
      k=num[j][i]/num[i][i];
      for(m=i;m<n+1;m++)
       num[j][m]+=(-k)*num[i][m];//+num[j][m];
      }
   }
  if(i==(n-1))
  {
   x[n-1]=num[n-1][n]/num[n-1][n-1];
   for(m=n-2;m>=0;m--)
    {
	   for(l=n-1;l>m;l--)
      num[m][n]=num[m][n]-num[m][l]*x[l];
     x[m]=num[m][n]/num[m][m];
    }
   for(i=0;i<n;i++)
    for(j=0;j<n;j++)
      {
       if(num[j][n+1]==i)
       cout<<x[j]<<" ";
      }   
   }
}

void main()
{ 
 int i,j,n;
 float k;
 float number[10][12];
 ifstream inf("matrix.in",ios::in);
 inf>>n;
 for(i=0;i<10;i++)
  for(j=0;j<12;j++)
   number[i][j]=0;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   {
    inf>>k;
    number[i][j]=k;
    }
  for(i=0;i<n;i++)
   {
    inf>>k;
    number[i][n]=k;
    number[i][n+1]=i;
   }
   for(i=0;i<n;i++)
   {
	   for(j=0;j<n+2;j++)
		 cout<<number[i][j]<<"  ";
       cout<<endl;
   }
  jie(number,n);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -