online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/* 6.- Crear un programa que use una matriz de 3×4 para resolver un sistema de 3 ecuaciones con 3 incógnitas usando el método de Gauss (hacer ceros por debajo de la diagonal principal para luego aplicar sustitución regresiva). |-------------------------| x +2y -3z = -16 3x + y -2z = -10 2x -3y + z = - 4 |-------------------------| */ #include<iostream> #include<conio.h> using namespace std; int main(){ float matriz[3][4], aux[3][4], comprobacion[3],multiplicador= 0, z1= 0, z2= 0, y1=0, y2=0, t1=0, t2=0, x, y, z, t;// z1, z2 y t es para guardar un valor dentro de la tercera ecuacion int c= 0; bool vale= false; //Ingreso de la matriz 3*4 cout<<"\t\t Sistema de 3 ecuaciones con 3 incognitas- Metodo Gauss Jordan.\n\n"; getch(); cout<<"\t\t Atencion!, se procedera a ingresar 4 valores; el sistema se hara cargo de colocar las incognitas...\n\n"; cout<<"\t\t Ingrese los valores: \n\n"; for(int i=0; i<=2; i++){ for(int j=0; j<=3; j++){ cout<<"\t\t Fila #"<<i+1<<" -> Columna #"<<j+1<<": "; cin>>matriz[i][j]; } cout<<"\n\n"; } //Para mostrar la Matriz 3*4 con sus incognitas cout<<"\t\t La matriz 3x4 es: \n\n"; for(int i=0; i<=2; i++){ cout<<"\n\t\t Ecuacion #"<<i+1<<": "; for(int j=0; j<=3; j++){ aux[i][j]=matriz[i][j];// guarda los valores esta matriz auxiliar if(j==0){ if(matriz[i][j]==1){//Si el valor es positivo entonces mostrara al principio un + seguido del numero cout<<" x"; }else if(matriz[i][j]==-1) {// Si es negativo entonces mostrara al principio un - seguido del numero cout<<" -x"; }else{ cout<<" "<<matriz[i][j]<<"x"; } }else if(j==1){ if(matriz[i][j]==1){ cout<<" +y"; }else if(matriz[i][j]==-1) { cout<<" -y"; }else if(matriz[i][j]>1){ cout<<" +"<<matriz[i][j]<<"y"; }else if(matriz[i][j]<0){ cout<<matriz[i][j]<<"y"; }else{ cout<<matriz[i][j]; } }else if(j==2){ if(matriz[i][j]==1){ cout<<" +z"; }else if(matriz[i][j]==-1) { cout<<" -z"; }else if(matriz[i][j]>1){ cout<<" +"<<matriz[i][j]<<"z"; }else if(matriz[i][j]<0){ cout<<matriz[i][j]<<"z"; }else{ cout<<matriz[i][j]; } }else if(j==3){ if(matriz[i][3]){ cout<<" = "<<matriz[i][j]; } } cout<<" "; } } /*Operacion Interna Se transformara un sistema de 3 ecuaciones lineales en un sistema escalonado. Es decir esto: |-------------------------| x + 2y -3z = -16 0 + ?y +?z = ? 0 + 0 + ? = ? |-------------------------| */ //Primera fila toda la columna multiplicador=matriz[1][0]*-1; // 3*-1 = -3x for(int i=0; i<=2; i++){ for(int j=0; j<=3; j++){ if(i==0){ aux[i][j]=multiplicador*matriz[i][j]; // En la primera fila (i=0) se multiplica en este caso por -3 por toda la primera fila }else if(i==1){// Si estan en la segunda fila entonces hacen esto: matriz[i][j]+=aux[0][j]; // se suma la matriz original de la segunda fila con la matriz auxiliar de la primera fila } } } //Muestra de multiplicador para la Ecuacion cout<<"\n\n\t\t multiplicador: "<<multiplicador<<"\n"; cout<<"\t\t Resultado de la Segunda Ecuacion Transformada: "; for(int i=1; i<=1; i++){ for(int j=0; j<=3; j++){ cout<<matriz[i][j]<<" "; } } //Segunda fila toda la columna multiplicador=matriz[2][0]*-1; // 2*-1 = -2x for(int i=0; i<=2; i++){ for(int j=0; j<=3; j++){ if(i==0){ aux[i][j]=multiplicador*matriz[i][j]; // En la primera fila (i=0) se multiplica en este caso por -2 por toda la primera fila //cout<<aux[i][j]; }else if(i==2){// Si estan en la segunda fila entonces hacen esto: matriz[i][j]+=aux[0][j]; // se suma la matriz original de la segunda fila con la matriz auxiliar de la primera fila //cout<<aux[i][j]; } //cout<<" "; } //cout<<"\n"; } cout<<"\n\n\t\t multiplicador: "<<multiplicador<<"\n"; cout<<"\t\t Resultado de la Tercera Ecuacion Transformada: "; for(int i=2; i<=2; i++){ for(int j=0; j<=3; j++){ cout<<matriz[i][j]<<" "; } } // Muestra de la ecuacion ya modificada cout<<"\n\n\t\t Primera transformacion del sistema: \n\n"; for(int i=0; i<=2; i++){ cout<<"\n\t\t Ecuacion #"<<i+1<<": "; for(int j=0; j<=3; j++){ aux[i][j]=matriz[i][j];// guarda los valores esta matriz auxiliar if(j==0){ if(matriz[i][j]==1){//Si el valor es positivo entonces mostrara al principio un + seguido del numero cout<<" x"; }else if(matriz[i][j]==-1) {// Si es negativo entonces mostrara al principio un - seguido del numero cout<<" -x"; }else{ cout<<" "<<matriz[i][j]<<"x"; } }else if(j==1){ if(matriz[i][j]==1){ cout<<" +y"; }else if(matriz[i][j]==-1) { cout<<" -y"; }else if(matriz[i][j]>1){ cout<<" +"<<matriz[i][j]<<"y"; }else if(matriz[i][j]<0){ cout<<matriz[i][j]<<"y"; }else{ cout<<matriz[i][j]; } }else if(j==2){ if(matriz[i][j]==1){ cout<<" +z"; }else if(matriz[i][j]==-1) { cout<<" -z"; }else if(matriz[i][j]>1){ cout<<" +"<<matriz[i][j]<<"z"; }else if(matriz[i][j]<0){ cout<<matriz[i][j]<<"z"; }else{ cout<<matriz[i][j]; } }else if(j==3){ if(matriz[i][3]){ cout<<" = "<<matriz[i][j]; } } cout<<" "; } } //Se eliminan las Y de la 3ra ecuacion reduciendola con la 2da ecuacion. multiplicador=matriz[2][1]*-1; // -7*-1 = 7 for(int i=1; i<=2; i++){ for(int j=1; j<=3; j++){ if(i==1){ aux[i][j]=multiplicador*matriz[i][j]; // En la segunda fila (i=1) se multiplica en este caso por 7 por toda la primera fila y1= aux[i][1]; // -35 y z1= aux[i][2]; // +49 z t1= aux[i][3]; // +266 }else if(i==2){// Si estan en la segunda fila entonces hacen esto: aux[i][j]=multiplicador*matriz[i][j]; y2= aux[i][1]; // +35 y z2= aux[i][2]; // -35 z t2= aux[i][3]; // -140 } } multiplicador=matriz[1][1]; // = -5 if(i==2){ matriz[i][1]=y1+y2; matriz[i][2]=z1+z2; matriz[i][3]=t1+t2; } } cout<<"\n\n\t\t Segunda transformacion del sistema: \n\n"; for(int i=0; i<=2; i++){ cout<<"\n\t\t Ecuacion #"<<i+1<<": "; for(int j=0; j<=3; j++){ aux[i][j]=matriz[i][j]; if(j==0){ if(matriz[i][j]==1){ cout<<" x"; }else if(matriz[i][j]==-1) { cout<<" -x"; }else{ cout<<" "<<matriz[i][j]<<"x"; } }else if(j==1){ if(matriz[i][j]==1){ cout<<" +y"; }else if(matriz[i][j]==0){ cout<<" +0y"; }else if(matriz[i][j]==-1){ cout<<" -y"; }else if(matriz[i][j]>1){ cout<<" +"<<matriz[i][j]<<"y"; }else if(matriz[i][j]<0){ cout<<matriz[i][j]<<"y"; }else{ cout<<matriz[i][j]; } }else if(j==2){ if(matriz[i][j]==1){ cout<<" +z"; }else if(matriz[i][j]==0){ cout<<" +0z"; }else if(matriz[i][j]==-1){ cout<<" -z"; }else if(matriz[i][j]>1){ cout<<" +"<<matriz[i][j]<<"z"; }else if(matriz[i][j]<0){ cout<<matriz[i][j]<<"z"; }else{ cout<<matriz[i][j]; } }else if(j==3){ if(matriz[i][3]){ cout<<" = "<<matriz[i][j]; } } cout<<" "; } } //Obtener resultado de las incognitas //Calcular Z en la tercera Ecuacion for(int i=0; i<=2; i++){ for(int j=0; j<=3; j++){ if(i==2){ // asignamos valores individuales a partir de la matriz z=matriz[i][2]; // 14 t=matriz[i][3]; // 126 } } } //operacion para obtener el valor de Z z=t/z; //Calcular Y en la segunda Ecuacion for(int i=0; i<=2; i++){ for(int j=0; j<=3; j++){ if(i==1){ // asignamos valores individuales a partir de la matriz y1 = matriz[i][1]; // -5 z1 = matriz[i][2]*z; // 63 t1 = matriz[i][3]; // 38 } } } //operacion para obtener el valor de Y z1*=-1; // -63 t1+=z1; // -25 y=t1/y1; //Calcular X en la primera Ecuacion for(int i=0; i<=2; i++){ for(int j=0; j<=3; j++){ if(i==0){ // asignamos valores individuales a partir de la matriz y2 = matriz[i][1]*y; // 10 z2 = matriz[i][2]*z; // -27 t2 = matriz[i][3]; // -16 } } } //operacion para obtener el valor de X y2+=z2; // -17 y2*=-1; // 17 x= t2+y2; //Muestra el resultado cout<<"\n\n\t\t Incognita Z = "<<z; cout<<"\n\n\t\t Incognita Y = "<<y; cout<<"\n\n\t\t Incognita X = "<<x; //COMPROBACION for(int i=0; i<=2; i++){ comprobacion[i]=0;//para almacenar valor y hacer comprobacion for(int j=0; j<=2; j++){ if(j==0){ matriz[i][j]*=x; // 1 comprobacion[i]+=matriz[i][j]; //1 }else if(j==1){ matriz[i][j]*=y; // 10 comprobacion[i]+=matriz[i][j]; //11 }else if(j==2){ matriz[i][j]*=z; // -27 comprobacion[i]+=matriz[i][j]; // -16 } } if (comprobacion[i] == matriz[i][3]){ vale=true; }else{ vale= false; } } ///Muestra de la comprobacion if(vale){ cout<<"\n\n\t\t Comprobacion de la primera ecuacion: "<<comprobacion[0]<<" = "<<matriz[0][3]; cout<<"\n\n\t\t Comprobacion de la segunda ecuacion: "<<comprobacion[1]<<" = "<<matriz[1][3]; cout<<"\n\n\t\t Comprobacion de la tercera ecuacion: "<<comprobacion[2]<<" = "<<matriz[2][3]; getch(); cout<<"\n\n\t\t Excelente!, la comprobacion de las tres ecuaciones esta correcta!!"; }else{ cout<<"\n\n\t\t No esta bien alguna de las tres ecuaciones... :/"; } getch(); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue