Vous êtes sur la page 1sur 18

ELIMINACIN GAUSSIANA

(IMPLEMENTACIN DEL
ALGORITMO EN LENGUAJE
C)

#include <stdio.h>
//standard input-output header.
#include <conio.h>
//libreria no estandar
main()
{
//funcin principal, inicio del programa

int i,j,k,n;
//Declaracin de variables
ndice i----> nos indica el pibote
ndice j---->nos indica la ecuacin a
manipular
ndice k---->nos mueve en las columnas
n= Cantidad de ecuaciones

double A[11][12], cte=0, sum, X[11];


//Declaracin del arreglo, de tipo double,
indica elementos mximos que puede
contener la matriz (rengln, columna)
sum---->efectuar una operacin
cte---->para el clculo de la constante
para escalonar
Arreglo X[11]---->

printf("Cuntas ecuaciones desea


ingresar?");
//Imprime en pantalla
scanf("%d",&n);
//Guarda el valor dado por el usuario en
la variable n

//Ingresando los coeficientes


for (i=0;i<n;i++)
{
//Ir en aumento de uno en uno, desde
cero hasta el nmero de ecuaciones
que se dieron (n)
for (k=0;k<=n;k++)
{
//Tambin va de uno en uno, la diferencia
es que este ndice cambia primero

printf("\n\nIngrese el coeficiente A[%d]


[%d]",i,k);
scanf("%lf",&A[i][k]);
}
}
//Pide al usuario que de los coeficientes
de su sistema y los guarda en el arreglo
A (renglon, columna)

Matriz conformada

//Inicia el Mtodo
for (i=0;i<n-1;i++)
{
for (j=i+1;j<n;j++)
{
//Calculo de la constante A[j][i]hace referencia al rengln q
manipulamos
cte=-A[j][i]/A[i][i];
for (k=i;k<=n;k++)
{
A[j][k]=A[i][k]*cte+A[j][k];
}
}
}

[0]

[1]

[2]

[3]

[0]

[1]

[2]

cte=-A[j][i]/A[i][i];
cte =-A[1][0]/A[0][0];
cte =-2/1
cte =-2

A[j][k]=A[i][k]*cte+A[j][k];
A[1][0]=A[0][0]*cte+A[1][0];
A[1][0]=1 * (-2)+2;
A[1][0]=(-2) + 2
A[1][0]= 0

Matriz conformada

//Imprimiendo a la matriz triangular


printf("\n Matriz triangular\n");
printf("\n");
for (i=0;i<n;i++)
{
for (k=0;k<=n;k++)
{
printf("%12.8f",A[i][k]);
}
printf("\n");
}

//Sumatorias
printf("\n Vector resultado:");
//Nos vamos a mover al ltimo rengln (ltima ecuacin)
for (i=n-1;i>=0;i--)
{
sum=0;
//Es el que me va trabajamdo la sumatoria, n cantidad de veces q
vamos a agregar los elementos para sumarlo
for(j=i+1; j<n;j++){
sum= sum+(X[j]*A[i][j]);
}
X[i]=(A[i][n]-sum)/A[i][i];
}

for (i=n1;i>=0;i--)
{
sum=0;
for(j=i+1;
j<n;j++){
sum= sum+
(X[j]*A[i][j]);
}
X[i]=(A[i][n]sum)/A[i][i];
}

sum= 0
X[2]=(A[2][3]-0/A[2][2]=18/18=1

sum= 0+(X[1]*A[0][1])=-2*2=-4
sum=-4+(X[2]*A[0][2])=4+(1*3)=1

sum= 0+(X[2]*A[1][2])=0+1*-5= -5
X[0]=(A[0][3]+1/A[0][0]=3/1=3
X[1]=(A[1][3]-sum)/A[1][1]=-(-3+5)/1=-2

//Imprimiendo vector resultado


for(i=0;i<n;i++)
printf("%12.8f",X[i]);
getch();
}

Vous aimerez peut-être aussi