高斯消去法 c语言

来源:百度知道 编辑:UC知道 时间:2024/06/27 04:08:16
要求用高斯消去法 输入一个普通矩阵输出成三角矩阵

#include<stdio.h>
#define demension 4//修改数组的维数可以在这里改动

void transferM(double array[][demension])
//上三角
{
int row1,row2,col;
double m;
for(row1=0;row1<demension;row1++)
{
for(row2=row1+1;row2<demension;row2++)
{
m=array[row2][row1]/array[row1][row1];
for(col=row1;col<demension;col++)
{
array[row2][col]-=array[row1][col]*m;
}
}
}

}

void main()
{
double a[demension][demension]={
{3.2,2,5,3},
{34,45,64,23},
{23,34,54,5},
{23,34,4,56}
};

transferM(a);
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
printf("%6.2lf",a[i][j]);
}
printf("\n");
}

}

#include <iostream>
#include <iomanip>