Está en la página 1de 3

JOS JEREMAS CABALLERO CANTU

Programacin de computadora I

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


(Universidad del Per, DECANA DE AMRICA)
FACULTAD DE CIENCIAS MATEMATICAS
E.A.P.: MATEMATICA
SEMESTRE: 2016-I
CURSO: Programacin de computadoras I

Fecha: 07-05-16

Semana 6
ESTRUCTURA REPETITIVAS
PROGRAMA EN DEV C++

#include <iostream>
#include <stdio.h>
//Programa de Gauss Jordan, sin intercambio de filas
using namespace std;
main()
{int i, j,n,k;
float m,MA[100][100],X[100] ;
printf("Ingrese la cantidad de filas de la matriz de Aument. A=");
scanf("%d",&n);
printf("Ingrese la coeficientes de matriz Aument.\n");
for(i=1; i<=n;i++)
for( j=1; j<=n+1;j++)
{ printf("M[%d][%d]=",i,j);
cin>>MA[i][j];
}
for(i=1; i<=n; i++)
{ for(j=1; j<=n; j++)
{ if(j!=i)
{ m=MA[j][i]/MA[i][i];
for(k=1; k<=n+1;k++)
MA[j][k]=MA[j][k]-m*MA[i][k];
}
}
}
if( (MA[n][n]==0) | (MA[n][n+1]==0) )
{ printf("procedimiento terminado sin exito\n");
return(0);
}
else
{ for(i=n; i>=1; i--)
X[i]=MA[i][n+1]/MA[i][i];
}
printf("La solucion del sistema es\n");
for(i=1; i<=n;i++)
{ printf("X[%d]=",i);
cout<<X[i]<<"\n";
}
}
_________________________________________________________________________
Facultad de Ciencias Matemticas- UNMSM
jjcc941@hotmail.com
Pg. 1

JOS JEREMAS CABALLERO CANTU

Programacin de computadora I

Probamos con el ejemplo siguiente:

E1 :

x1 + x2

+ 3x4 4

E2 :

2 x1 + x2 x3 + x4 1

E3 :

3x1 x2 x3 + 2x4 3

E4 : x1 + 2x2 3x3 x4 4
EJECUCION DEL PROGRAMA EN DEV C++

Ingrese la cantidad de filas de la matriz de Aument MA=4


Ingrese la coeficientes de matriz de Aument:
M[1][1]=1
M[1][2]=1
M[1][3]=0
M[1][4]=3
M[1][5]=4
M[2][1]=2
M[2][2]=1
M[2][3]=-1
M[2][4]=1
M[2][5]=1
M[3][1]=3
M[3][2]=-1
M[3][3]=-1
M[3][4]=2
M[3][5]=-3
M[4][1]=-1
M[4][2]=2
M[4][3]=3
M[4][4]=-1
M[4][5]=4
La solucin del sistema es
X[1]=-1
X[2]=2
X[3]=0
X[4]=1
-------------------------------Process exited after 39.61 seconds with return value 0
Presione una tecla para continuar . . .

PROGRAMA EN MATLAB

%Programa de Gauss Jordan, sin intercambio de filas


clear all
MA=input('Ingrese la coefficientes de la matriz aumentada MA=');
[n,m]=size(MA);
for i=1: n
for j=1:n
if j~=i
_________________________________________________________________________
Facultad de Ciencias Matemticas- UNMSM
jjcc941@hotmail.com
Pg. 2

JOS JEREMAS CABALLERO CANTU

Programacin de computadora I

m=MA(j,i)/MA(i,i);
for k=1:n+1
MA(j,k)=MA(j,k)-m*MA(i,k);
end
end
end
end
if MA(n,n)==0 || MA(n,n+1)==0
fprintf('procedimiento terminado sin exito\n');
return;
else
for i=n:-1:1
X(i)=MA(i,n+1)/MA(i,i);
end
fprintf('La solucion del sistema es\n');
for i=1:n
fprintf('X(%d)=%6.4f\n',i,X(i));
end
end

Probamos con el ejemplo siguiente:

E1 :

x1 + x2

+ 3x4 4

E2 :

2 x1 + x2 x3 + x4 1

E3 :

3x1 x2 x3 + 2x4 3

E4 : x1 + 2x2 3x3 x4 4
EJECUCION DEL PROGRAMA EN MATLAB
>> gauss_Jordan_sin_pivoteo
>>Ingrese la coeficientes de la matriz aumentada MA=[1 1 0 3 4; 2 1 -1 1 1;3 -1 -1 2 -3; -1 2 3 -1 4]
La solucin del sistema es
X(1)=-1.0000
X(2)=2.0000
X(3)=0.0000
X(4)=1.0000

_________________________________________________________________________
Facultad de Ciencias Matemticas- UNMSM
jjcc941@hotmail.com
Pg. 3