/*
±¾³ÌÐòÖ»½â¾öÁËnÔªÒ»´Î·½³Ì×飬ÆäËûÓжà¸ö½âµÄ£¬²»ÌÖÂÛ£»
*/
#include <iostream>
#include <stdio.h>
using namespace std;
void show(float a[][20], int n, int m){
printf("****************\n");
for(int i=0; i<n; ++i) {
for(int j=0; j<m+1; ++j){
printf("%4.4f\t", a[i][j]);
}
printf("\n");
}
}
int main(){
freopen("a.txt", "r", stdin);
int n,r;
printf("ÇëÊäÈëδ֪Êý¸öÊýnºÍ·½³ÌµÄ¸öÊý:\n");
scanf("%d %d", &n, &r);
float a[11][20];
printf("ÇëÊäÈë·½³Ì×é²ÎÊý\n");
for(int j=0; j<n; j++)
for(int i=0; i<r+1; i++)
scanf("%f", &a[j][i]);
if(r<n)
printf("·½³ÌÓÐÎÞÇî½â\n");
show(a, n, n);
float temp;
if(r == n){
printf("·½³ÌÓÐΨһ½â\n");
for(int i = 0; i<n-1; ++i){
for(int j = i+1; j<n; ++j){
temp = a[j][i] / a[i][i];
printf("%d %d %4.2f\n", i, j,temp);
for(int k = i; k<n+1; ++k){
a[j][k] -= a[i][k]*temp;
}
}
}
show(a, n, n);
for(int i = n-1; i >= 0; --i){
for(int j = i-1; j>=0; --j){
temp = a[j][i] / a[i][i];
printf("%d %d %4.2f\n", i, j,temp);
for(int k = n; k>=i; --k){
a[j][k] -= a[i][k] * temp;
}
}
}
for(int i=0; i<n; ++i){
a[i][n] /= a[i][i];
}
printf("res :\n");
for(int i=0; i<n; ++i){
printf("%8.3f\n", a[i][n]);
}
}
}
多元一次方程组的程序
猜你喜欢
转载自blog.csdn.net/julicliy/article/details/84251187
今日推荐
周排行