Cod sursa(job #635233)

Utilizator sunt_emoSunt emo sunt_emo Data 18 noiembrie 2011 21:36:26
Problema Algoritmul lui Gauss Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>
#define N 310

double a[N][N],x,sol[N];
int n,i,j,m,k;

int main () {
	freopen ("gauss.in","r",stdin);
	freopen ("gauss.out","w",stdout);
	scanf ("%d %d",&n,&m);
	for (i=0; i<n; i++)
		for (j=0; j<=n; j++)
			scanf ("%lf",&a[i][j]);
	for (i=0; i<n-1; i++) {
		for (j=i+1; j<n; j++) {
			x=-a[j][i]/a[i][i];
			for (k=i; k<=n; k++)
				a[j][k]+=a[i][k]*x;
		}
	}
	/*for (i=0; i<n; i++) {
		for (j=0; j<=n; j++) printf ("%.3lf\t",a[i][j]);
		printf ("\n");
	}*/
	for (i=n-1; i>=0; i--) {
		x=0;
		for (j=i+1; j<n; j++) x+=a[i][j]*sol[j];
		sol[i]=(a[i][n]-x)/a[i][i];
	}
	for (i=0; i<n; i++) printf ("%.8lf ",sol[i]);
	fclose (stdin); fclose (stdout);
	return 0;
}