ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
024_EliGauss.c
Go to the documentation of this file.
1#include <stdio.h>
2
3#define NV 100
4
5int main(int argc, char *argv[])
6{
7 int n, i, j, k;
8 float A[NV][NV], b[NV], fct, x[NV];
9 do{
10 printf("Ingrese el numero de variables: ");
11 scanf("%d", &n);
12 }while(n<1||n>NV);
13 for(i=0; i<n; i++)
14 {
15 for(j=0; j<n; j++)
16 {
17 printf("A[%d][%d] = ", i+1, j+1);
18 scanf("%f", &A[i][j]);
19 }
20 printf("b[%d] = ", i+1);
21 scanf("%f", &b[i]);
22 }
23 printf("---\n");
24 for(i=0; i<n; i++)
25 {
26 for(j=0; j<n; j++)
27 printf("%.2f\t", A[i][j]);
28 printf("%.2f\n", b[i]);
29 }
30 for(i=0; i<n-1; i++)
31 for(j=i+1; j<n; j++)
32 {
33 fct = A[j][i]/A[i][i];
34 for(k=0; k<n; k++)
35 A[j][k] -= (fct*A[i][k]);
36 b[j] -= fct*b[i];
37 }
38
39 for(i=0; i<n; i++)
40 x[i] = 0;
41 for(i=n-1; i>-1; i--)
42 {
43 x[i]=b[i];
44 for(j=0; j<n; j++)
45 if(i!=j)
46 x[i]-=A[i][j]*x[j];
47 x[i]/=A[i][i];
48 printf("x[%d] = %f\n", i+1, x[i]);
49 }
50 return 0;
51}
#define NV
Definition 023_EliGauss.c:3
double fct(double x, int n)
Definition Ejemplo029.c:34
int main(void)
Definition Ejemplo_035.c:15