Cod sursa(job #625675)

Utilizator florin_marius90Florin Marius Popescu florin_marius90 Data 25 octombrie 2011 10:50:52
Problema Algoritmul lui Gauss Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
	FILE * f = fopen("gauss.in", "r");

	int n,m;
	float a[302][302];

	fscanf(f, "%i%i", &n, &m);

	int i,j;
	m++
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{
			fscanf(f, "%f", a[i] + j);
		}
	}
	fclose(f);
	
	for (i = 0; i < n-1; i++)
	{
		for (j = i+1; j < n; j++)
		{
			int k;
			for (k = i; k < m; k++)
			{
				a[j][k] += a[i][k]*(-a[j][i] / a[i][i]);
			}	
		}
	}

	float sol[302] = {0}, sum;

	for (i = n-1; i >= 0; i--)
	{
		sum = 0;
		for (j = i + 1; j < m-1 ; j++)
		{
			sum += a[i][j] * sol[j];
		}
		sol[i] = (a[i][m-1] - sum) / a[i][i];
	}

	f = fopen("gauss.out", "w");
	for (i = 0; i < n; i++)
	{
		fprintf(f, "%f ", sol[i]);
	}
	fclose(f);

}