-
Lenguaje
C
-
Descripción
Resuelve sistemas de ecuaciones con el método de Gauss-Jordan.
Por ejemplo para resolver el siguiente sistema de ecuaciones:2x + y - z = 8 -3x - y + 2z = -11 -2x + y + 2z = -3
Ingrese los siguientes datos:
Ingrese el número de ecuaciones (n): 3
Ingrese la literal de la variable 1: x
Ingrese la literal de la variable 2: y
Ingrese la literal de la variable 3: z
Ingrese el coeficiente de la variable 'x' de la ecuación 1: 2
Ingrese el coeficiente de la variable 'y' de la ecuación 1: 1
Ingrese el coeficiente de la variable 'z' de la ecuación 1: -1
Ingrese la constante de la ecuación 1: 8
Ingrese el coeficiente de la variable 'x' de la ecuación 2: -3
Ingrese el coeficiente de la variable 'y' de la ecuación 2: -1
Ingrese el coeficiente de la variable 'z' de la ecuación 2: 2
Ingrese la constante de la ecuación 2: -11
Ingrese el coeficiente de la variable 'x' de la ecuación 3: -2
Ingrese el coeficiente de la variable 'y' de la ecuación 3: 1
Ingrese el coeficiente de la variable 'z' de la ecuación 3: 2
Ingrese la constante de la ecuación 3: -3
Solución:
x = 2
y = 3
z = -1
Presione una tecla para continuar . . .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
#ifdef __TURBOC__
#define _getch getch
#endif
int main (void)
{
int i, j, k, n;
float **matriz, termino;
char *literales, literal;
printf ("Ingrese el n\243mero de ecuaciones (n): ");
scanf ("%d", &n);
(void) getchar();
matriz = (float**) malloc (sizeof (float*) * n);
literales = (char*) malloc (sizeof (char) * (n+1));
for (i=0; i<n; i++)
{
literales[i] = '\0';
printf ("Ingrese la literal de la variable %d: ", i+1);
do {
literal = (char) tolower (_getch ());
} while (!isalpha (literal) || strchr (literales, literal));
literales[i] = literal;
printf ("%c\n", literal);
}
fflush (stdin);
for (i=0; i<n; i++)
{
matriz[i] = (float*) malloc (sizeof (float) * (n+1));
for (j=0; j<n; j++)
{
printf ("Ingrese el coeficiente de la variable '%c' de la ecuaci\242n %d: ", literales[j], i+1);
scanf ("%f", &termino);
matriz[i][j] = termino;
}
printf ("Ingrese la constante de la ecuaci\242n %d: ", i+1);
scanf ("%f", &matriz[i][n]);
}
putchar ('\n');
for (i=0; i<n; i++)
{
if (matriz[i][i]==0.0)
{
fprintf (stderr, "Error: divisi\242n entre cero.\n\n");
system ("pause");
return EXIT_FAILURE;
}
for (k=0; k<n; k++)
if (k!=i)
{
termino = matriz[k][i] / matriz[i][i];
for (j=0; j<=n; j++)
matriz[k][j] -= termino * matriz[i][j];
}
}
printf ("Soluci\242n:\n\n");
for (i=0; i<n; i++)
{
termino = matriz[i][n] / matriz[i][i];
printf ("%c = %g\n", literales[i], termino);
}
putchar ('\n');
system ("pause");
return EXIT_SUCCESS;
}
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
#ifdef __TURBOC__
#define _getch getch
#endif
int main (void)
{
int i, j, k, n;
float **matriz, termino;
char *literales, literal;
printf ("Ingrese el n\243mero de ecuaciones (n): ");
scanf ("%d", &n);
(void) getchar();
matriz = (float**) malloc (sizeof (float*) * n);
literales = (char*) malloc (sizeof (char) * (n+1));
for (i=0; i<n; i++)
{
literales[i] = '\0';
printf ("Ingrese la literal de la variable %d: ", i+1);
do {
literal = (char) tolower (_getch ());
} while (!isalpha (literal) || strchr (literales, literal));
literales[i] = literal;
printf ("%c\n", literal);
}
fflush (stdin);
for (i=0; i<n; i++)
{
matriz[i] = (float*) malloc (sizeof (float) * (n+1));
for (j=0; j<n; j++)
{
printf ("Ingrese el coeficiente de la variable '%c' de la ecuaci\242n %d: ", literales[j], i+1);
scanf ("%f", &termino);
matriz[i][j] = termino;
}
printf ("Ingrese la constante de la ecuaci\242n %d: ", i+1);
scanf ("%f", &matriz[i][n]);
}
putchar ('\n');
for (i=0; i<n; i++)
{
if (matriz[i][i]==0.0)
{
fprintf (stderr, "Error: divisi\242n entre cero.\n\n");
system ("pause");
return EXIT_FAILURE;
}
for (k=0; k<n; k++)
if (k!=i)
{
termino = matriz[k][i] / matriz[i][i];
for (j=0; j<=n; j++)
matriz[k][j] -= termino * matriz[i][j];
}
}
printf ("Soluci\242n:\n\n");
for (i=0; i<n; i++)
{
termino = matriz[i][n] / matriz[i][i];
printf ("%c = %g\n", literales[i], termino);
}
putchar ('\n');
system ("pause");
return EXIT_SUCCESS;
}