ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
023_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=1; i<n; i++)
31 {
32 fct = A[i][0]/A[0][0];
33 for(j=0; j<n; j++)
34 A[i][j]-=(fct*A[0][j]);
35 b[i]-=fct*b[0];
36 }
37 printf("---\n");
38 for(i=0; i<n; i++)
39 {
40 for(j=0; j<n; j++)
41 printf("%.2f\t", A[i][j]);
42 printf("%.2f\n", b[i]);
43 }
44 for(i=2; i<n; i++)
45 {
46 fct = A[i][1]/A[1][1];
47 for(j=0; j<n; j++)
48 A[i][j]-=(fct*A[1][j]);
49 b[i]-=fct*b[1];
50 }
51 printf("---\n");
52 for(i=0; i<n; i++)
53 {
54 for(j=0; j<n; j++)
55 printf("%.2f\t", A[i][j]);
56 printf("%.2f\n", b[i]);
57 }
58 for(i=0; i<n; i++)
59 x[i] = 0;
60 for(i=n-1; i>-1; i--)
61 {
62 x[i]=b[i];
63 for(j=0; j<n; j++)
64 if(i!=j)
65 x[i]-=A[i][j]*x[j];
66 x[i]/=A[i][i];
67 printf("x[%d] = %f\n", i+1, x[i]);
68 }
69 return 0;
70}
#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