martes, 20 de marzo de 2012

Matriz de 4*4 en C++

Este seria el código en lenguaje C++.



#include <iostream>
using namespace std;
int main()
{   //Declaracion de variables
    float a[4][4];
    int filas, columnas;
    int determinante_1,determinante_2,determinante_3,determinante_4;




    //Salidas en pantalla
    cout << "\t\t EL SUIGUIENTE PROGRAMA ES UNA MATRIZ DE N*N." <<"\n\n";
    cout << "Porfavor ingrese solo numeros, no letras." <<"\n\n";


    //Hace una pausa y borra pantalla
    system ("pause");
    system ("cls");


    //Pedimos un numero para las variables pedidas
    cout << "\n Ingrese el numero de filas de la matriz   : "<<endl;
    cin >>filas;


    cout << "Ingrese el numero de columnas de la Matriz : "<<endl;
    cin >> columnas;


    //Este es un if para advertencia
    if ((columnas==0)||(filas==0)){//Se abre if de advertencia
cout << "la matriz que ingreso no existe "<<endl;


system("pause");
    system ("cls");


}//Se cierra if de advertencia


if ((columnas==0)||(filas==0)); {// abre if de advertencia
cout<<"la matriz que ingreso no existe "<<endl;


system("pause");
    system ("cls");


}// cierra if de advertencia


    //Con este if para las condiciones
if ((filas>4)&&(columnas>4))
  {
  cout << "\a la matriz debe ser maximo 4x4 \a"<<endl;




system("pause");
system ("cls");
}


else
{
      if (columnas==filas) {//Sino columnas igual a filas haga


       for(int i=0;i<filas;i++)//Se abre el para for toma de matrices
  {
         cout<<"\n";
         for(int j=0;j<columnas;j++)
{


 cout << "["<<i<<"]["<<j<< "] :";
          cin >>a[i][j];


}
}// cierra for


cout<<"\n\nLa matriz ingresada es: \n\n";// muestra matriz


for (int i=0; i<filas; i++)
  {
cout<<"\n\t";
for (int j=0; j<columnas; j++)
{ cout<<"\t"<<a[i][j];


}
}


cout<<endl
<<endl
<<endl;
cout << " la transpuesta es "<<endl;  //Muestra transpuesta
for (int j=0; j<columnas; ++j){
cout<<"\n\t";
for (int i=0; i<filas; ++i){
cout <<a[i][j]<<"\t";
}
}
}//cierra else
}


    //Con esto se saca el Determinante
    cout<<"\n\n";




// DETERMINANTE 4*4
if ((filas==4) && (columnas==4)){
int deter_total;




determinante_1=(( (a[1][1])*(a[2][2])*(a[3][3]))+((a[2][1])*(a[3][2])*(a[1][3]))+((a[3][1])*(a[1][2])*(a[2][3])));


int resta_1=(( (a[3][1])*(a[2][2])*(a[1][3]))+((a[1][1])*(a[3][2])*(a[2][3]))+((a[2][1])*(a[1][2])*(a[3][3])));


            int e= determinante_1- resta_1;


            determinante_2=(( (a[1][0])*(a[2][2])*(a[3][3]))+((a[2][0])*(a[3][2])*(a[1][3]))+((a[3][0])*(a[1][2])*(a[2][3])));


int resta_2= (( (a[3][0])*(a[2][2])*(a[1][3]))+((a[1][0])*(a[3][2])*(a[2][3]))+((a[2][0])*(a[1][2])*(a[3][3])));


int f=((determinante_2)-(resta_2));


determinante_3=(( (a[1][0])*(a[2][1])*(a[3][3]))+((a[2][0])*(a[3][1])*(a[1][3]))+((a[3][0])*(a[1][1])*(a[2][3])));


int resta_3= (( (a[3][0])*(a[2][1])*(a[1][3]))+((a[1][0])*(a[3][1])*(a[2][3]))+((a[2][0])*(a[1][1])*(a[3][3])));


int g=((determinante_3)-(resta_3));


            determinante_4=(( (a[1][1])*(a[2][1])*(a[3][2]))+((a[2][0])*(a[3][1])*(a[1][2]))+((a[3][0])*(a[1][1])*(a[2][2])));


int resta_4=(( (a[3][0])*(a[2][1])*(a[1][2])+((a[1][0])*(a[3][1])*(a[2][2]))+((a[2][0])*(a[1][1])*(a[3][2]))));


int h=((determinante_4)-(resta_4));




int a=((a[0][0])*(e));
int b=((a[0][1])*(f));
int c=((a[0][2])*(g));
int d=((a[0][3])*(h));


deter_total=((a)-(b)+(c)-(d));


cout<<"\n El determianante es: "<<deter_total;


   cout<<endl<<endl;


            system("pause");
   system ("cls");


}//cierra if 4*4


    return 0;
}


UNIAJC
Tecnologia en Electronica
Julian Andres Pizarro C.
Programación 2

No hay comentarios.: