martes, 1 de diciembre de 2015

LAB 4

Multiplicación de Matrices:

CODIFICACION:

//INICIO DE LA CODIFICACION
#include <iostream>
#include <math.h>
using namespace std;
const int n=2, m=2;
int i,j,SUMA,PROMEDIO,N,M;
int Matriz[n][m], T[n][m], A[n][m], B[n][m], C[n][m],X[n][m],Y[n][m],Z[n][m],R[n][m];
int LeerMatriz();
int SumaElementos();
int ImprimirElementos();
int MatrizIdentidad();
int MatrizTranspuesta();
int SumaMatrices();
int ElementosCentrales();
int PromedioElementos();
int MayorYMenor();
int MultiplicacionMatrices();
int main()
{
 int Opcion;
 do
 {
  cout<<"****** MENU ******** \n\n";
  cout<<"  1) LEER UNA MATRIZ   : \n";
  cout<<"  2) SUMA DE ELEMENTOS : \n";  
  cout<<"  3) IMPRIMIR LOS ELEMENTOS : \n";    
  cout<<"  4) MATRIZ IDENTIDAD : \n";  
  cout<<"  5) MATRIZ TRANSPUESTA : \n";
  cout<<"  6) SUMA DE MATRICES : \n";  
  cout<<"  7) ELEMENTOS CENTRALES : \n";  
  cout<<"  8) PROMEDIO DE ELEMENTOS DE LA MATRIZ : \n";
  cout<<"  9) CONTAR LOS MAYORES Y MENORES DE LOS ELEMENTOS DE LA MATRIZ : \n";
  cout<<" 10) MULTIPLICACION DE MATRICES: \n";
  cout<<"******************** \n\n";
  cout<<" ELIJA UNA OPCION: ";cin>>Opcion;

switch (Opcion)
{
  case 1:
  {
    LeerMatriz();  
  }; break;
 
  case 2:
  {
    SumaElementos();
  }; break;
 
  case 3:
  {
    ImprimirElementos();
  }; break;
 
  case 4:
  {
    MatrizIdentidad();
  }; break;
 
  case 5:
  {
    MatrizTranspuesta();
  }; break;
 
  case 6:
  {
    SumaMatrices();
  }; break;
  case 7:
  {
    ElementosCentrales();
  }; break;
  case 8:
  {
    PromedioElementos();
  }; break;
  case 9:
  {
    MayorYMenor();
  }; break;
  case 10:
  {
    MultiplicacionMatrices();
  }; break;
}
}while(Opcion !=0);

system ("pause");

return 0;
}

int ImprimirElementos()
{
    cout<<"****** IMPRIMIR LOS ELEMENTOS DE LA MATRIZ ***** \n";
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
   cout<<"Matriz["<<i<<"]["<<j<<"] = "<<Matriz[i][j]<<endl;
}
   cout<<"*************************** \n\n";    
  }
 
int SumaElementos()
{
 cout<<"****** SUMA DE ELEMENTOS ***** \n";
   SUMA=0;
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
   SUMA= SUMA + Matriz[i][j];
   }
   cout<<"La Suma de los elementos de la Matriz es:"<<SUMA<<endl;
   cout<<"*************************** \n\n";  
  }  
 
int LeerMatriz()
{
    cout<<"****** LEER UNA MATRIZ ***** \n";
   cout<<"Llenar datos a la matriz \n\n";
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
   cout<<"Matriz["<<i<<"]["<<j<<"]"; cin>>Matriz[i][j];
}
   cout<<"*************************** \n\n";  
  }
   
int MatrizIdentidad()
{
   cout<<"****** CONVIERTE A UNA MATRIZ IDENTIDAD ***** \n";
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
       if(i!=j)
       Matriz[i][j] = Matriz[i][j] * 0;
       if(i==j)
       Matriz[i][j] = Matriz[i][j] / Matriz[i][j];
       }  
}

int MatrizTranspuesta()
{
   cout<<"****** CONVIERTE A UNA MATRIZ TRANSPUESTA ***** \n";
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
       if(i!=j)
       T[i][j] = Matriz[j][i];    
}
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
       cout<<"T["<<i<<"]["<<j<<"] = "<<T[i][j]<<endl;
       }
cout<<"**************************************** \n\n";
}

int SumaMatrices()
{
    cout<<"****** SUMA DE MATRICES ***** \n";
    cout<<"Lectura de la Matriz A[n][m]";
    for (i=1; i<=n; i++)
    for (j=1; j<=m; j++)
   {
        cout<<"A["<<i<<"]["<<j<<"]"; cin>>A[i][j];
   }
        cout<<"Lectura de la Matriz B[n][m]";
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
        cout<<"B["<<i<<"]["<<j<<"]"; cin>>B[i][j];
        }
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            C[i][j] = A[i][j] + B[i][j];
        }
        cout<<"LA SUMA DE MATRICES A[n][m] + B[n][m] ES: \n\n";
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            cout<<"C["<<i<<"]["<<j<<"] = "<< C[i][j]<<endl;
            }
            cout<<"***************************************** \n\n";
            }

int ElementosCentrales()
{
    cout<<"*************ELEMENTOS CENTRALES*************: \n\n";
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            if(i==j)
            cout<<"Matriz["<<i<<"]["<<j<<"] = "<< Matriz[i][j]<<endl;
            }
            cout<<"***************************************** \n\n";
            }

int PromedioElementos()
{
        cout<<"*************PROMEDIO DE ELEMENTOS*************: \n\n";
        SUMA=0;
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            SUMA=SUMA + Matriz[i][j];
            }
            PROMEDIO=SUMA/(n*m);
            cout<<"El Promedio de la Matriz es: "<<PROMEDIO<<endl;
            cout<<"***************************************** \n\n";  
}

int MayorYMenor()
{
        cout<<"*************ELEMENTOS MAYORES Y MENORES DE LA MATRIZ*************: \n\n";
        M=0;
        N=0;
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            if(Matriz[i][j]>PROMEDIO)
            M=M+1;
            if(Matriz[i][j]<PROMEDIO)
            N=N+1;
            }
            cout<<"Tiene "<<M<< "Valores Mayores al promedio de"<<PROMEDIO<<endl;
            cout<<"Tiene "<<N<< "Valores Menores al promedio de"<<PROMEDIO<<endl;
       
}
int MultiplicacionMatrices()
{
cout<<"*************** MULTIPLICACION DE MATRICES*****************:\n\n";
cout<<"Ingresa los datos de la matriz 1"<<endl;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
cin>>X[i][j];
}
}
cout<<" "<<endl;
cout<<"Ingresa los datos de la matriz 2"<<endl;
cout<<" "<<endl;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
cin>>Y[i][j];
}
}
Z[0][0]=X[0][0]*Y[0][0];
Z[0][1]=X[0][1]*Y[1][0];
Z[1][0]=X[1][0]*Y[0][0];
Z[1][1]=X[1][1]*Y[1][0];
Z[2][0]=X[0][0]*Y[0][1];
Z[2][1]=X[0][0]*Y[1][1];
Z[3][0]=X[1][0]*Y[0][1];
Z[3][1]=X[1][1]*Y[1][1];

R[0][0]=(Z[0][0])+(Z[0][1]);
R[0][1]=(Z[2][0])+(Z[2][1]);
R[1][0]=(Z[1][0])+(Z[1][1]);
R[1][1]=(Z[3][0])+(Z[3][1]);
cout<<" "<<endl;
cout<<"Los Resultados son:"<<endl;
cout<<" "<<endl;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
cout<<R[i][j]<<" ";
}
cout<<" "<<endl;
}
}
//~FIN DE LA CODIFICACION~

4 comentarios: