Pagini recente » Rating George (LICCMAPP) | Cod sursa (job #14765) | Cod sursa (job #52933) | Cod sursa (job #1868048) | Cod sursa (job #625670)
Cod sursa(job #625670)
#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;
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);
}