Que tal Amigos, hoy les traigo el programa del Metodo de Gauss-Jordan para resolver matrices de cierta cantidad de incognitas.
Aclaro, no sale pero sila tiene, hablo de la contra diagonal / antes de la "n" para que se acomode el codigo a la hora de correrlo...
Espero y les sea de ayuda.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<iostream.h>
int main(void){
int SI=1;
do{
system("cls" );
int x,m,i,j,k;
float matriz1[25][26],matriz2[25][26],apoyo;
printf("tttPRACTICA #7" );
printf("nttMETODO DE GAUSS-JORDAN" );
printf("nt Ingrese el numero de incognitas y de Ecuaciones:n" );
scanf("%d",&x);
printf("n Ingrese coeficientesn" );
/* Datos para iniciar método */
for(i=1;i<=x;i++){
printf("n Fila %d n",i);
for(j=1;j<=x+1;j++){
printf(" Ingese a(%d,%d) = ",i,j);
scanf("%f",&matriz1[j]);
}
}
/* Fin Del Ciclo De Solicitud De Datos */
/* Proceso Principal */
m=x+1;
do{
if(matriz1[1][1]==0){
k=m-1;
for(i=2;i<=k;i++){
if(matriz1[1]!=0){
for(j=1;j<=m;j++){
apoyo=matriz1[j];
matriz1[j]=matriz1[1][j];
matriz1[1][j]=apoyo;
}
}
}
}
else{
for(j=2;j<=m;j++){
for(i=2;i<=x;i++){
matriz2[i-1][j-1]=matriz1[j]-matriz1[1][j]*matriz1[1]/matriz1[1][1];
}
}
for(j=2;j<=m;j++){
matriz2[x][j-1]=matriz1[1][j]/matriz1[1][1];
}
m=m-1;
for(j=1;j<=m;j++){
for(i=1;i<=x;i++){
matriz1[j]=matriz2[j];
}
}
}
}//CIERRE DEL do
while(m>1);
printf("nn SOLUCION DEL SISTEMAn " );
for(i=1;i<=x;i++){
printf("n X (%d) = %1.4f",i,matriz1[1]);
}
printf("nn Fin del programann" );
printf("nnn" );
printf("DESEAS REALIZAR LA OPERACION OTRA VEZ? SI[1] NO[2]n" );
scanf("%d",&SI);
}while(SI<=1);
system("PAUSE" );
return 0;
} //cierre del main
//****************Fin del Programa****************
Aqui enseguda les dejo algunos de mis otros programas en C.
Newton-Raphson Modificado.
Newton-Raphson.
Metodo de la secante.
Metodo Falsa Posicion.
Metodo de Biseccion.
eso es todo amigos, espero y les funcione.
Saludos



Aclaro, no sale pero sila tiene, hablo de la contra diagonal / antes de la "n" para que se acomode el codigo a la hora de correrlo...
Espero y les sea de ayuda.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<iostream.h>
int main(void){
int SI=1;
do{
system("cls" );
int x,m,i,j,k;
float matriz1[25][26],matriz2[25][26],apoyo;
printf("tttPRACTICA #7" );
printf("nttMETODO DE GAUSS-JORDAN" );
printf("nt Ingrese el numero de incognitas y de Ecuaciones:n" );
scanf("%d",&x);
printf("n Ingrese coeficientesn" );
/* Datos para iniciar método */
for(i=1;i<=x;i++){
printf("n Fila %d n",i);
for(j=1;j<=x+1;j++){
printf(" Ingese a(%d,%d) = ",i,j);
scanf("%f",&matriz1[j]);
}
}
/* Fin Del Ciclo De Solicitud De Datos */
/* Proceso Principal */
m=x+1;
do{
if(matriz1[1][1]==0){
k=m-1;
for(i=2;i<=k;i++){
if(matriz1[1]!=0){
for(j=1;j<=m;j++){
apoyo=matriz1[j];
matriz1[j]=matriz1[1][j];
matriz1[1][j]=apoyo;
}
}
}
}
else{
for(j=2;j<=m;j++){
for(i=2;i<=x;i++){
matriz2[i-1][j-1]=matriz1[j]-matriz1[1][j]*matriz1[1]/matriz1[1][1];
}
}
for(j=2;j<=m;j++){
matriz2[x][j-1]=matriz1[1][j]/matriz1[1][1];
}
m=m-1;
for(j=1;j<=m;j++){
for(i=1;i<=x;i++){
matriz1[j]=matriz2[j];
}
}
}
}//CIERRE DEL do
while(m>1);
printf("nn SOLUCION DEL SISTEMAn " );
for(i=1;i<=x;i++){
printf("n X (%d) = %1.4f",i,matriz1[1]);
}
printf("nn Fin del programann" );
printf("nnn" );
printf("DESEAS REALIZAR LA OPERACION OTRA VEZ? SI[1] NO[2]n" );
scanf("%d",&SI);
}while(SI<=1);
system("PAUSE" );
return 0;
} //cierre del main
//****************Fin del Programa****************
Aqui enseguda les dejo algunos de mis otros programas en C.
Newton-Raphson Modificado.
Newton-Raphson.
Metodo de la secante.
Metodo Falsa Posicion.
Metodo de Biseccion.
eso es todo amigos, espero y les funcione.
Saludos



