LAB. 5

LABORATORIO 5

Tema : MATRICES

#include <iostream>
#include <math.h>
using namespace std;
int opcion;
int COF[3][3];
int i,j,suma,maximo_M,indice1_M,indice2_M,minimo_M;
int M[3][3],A[3][3],B[3][3];
int leer_matriz();
int mirar_matriz();
int suma_de_elementos();
int leer_2_matrices();
int suma_de_2_matrices();
int Maximo_y_sus_indices();
int Minimo_y_sus_indices();
int Transpuesta();
int Identidad();
int Adjunta();

int main ()
{
    cout<<"         //////// BIENVENIDO AL DUO-GRAMA2 DE VENTURA & ORTEGA ////////"<<endl;
    cout<<endl;
    do
    {
         cout<<"||||| MENU |||||\n";
         cout<<"1.-Leer matriz.\n";
         cout<<"2.-Mirar matriz.\n";
         cout<<"3.-suma de elementos de la matriz.\n";
         cout<<"4.-Leo 2 matrices.\n";
         cout<<"5.-Suma de 2 matrices.\n";
         cout<<"6.-Maximo y sus indices.\n";
         cout<<"7.-Minimo y sus indices.\n";
         cout<<"8.-Transpuesta.\n";
         cout<<"9.-Identidad.\n";
         cout<<"10.-Adjunta.\n";
         cout<<endl;
         cout<<"Ingrese una opcion: ";
         cin>>opcion;
         cout<<endl;
         switch (opcion)
         {
                case 1:
                {
                     leer_matriz();
                };break;
                case 2:
                {
                     mirar_matriz();
                };break;
                case 3:
                {
                     suma_de_elementos();
                };break;
                case 4:
                {
                     leer_2_matrices();
                };break;
                case 5:
                {
                     suma_de_2_matrices();
                };break;
                case 6:
                {
                     Maximo_y_sus_indices();
                };break;
                case 7:
                {
                     Minimo_y_sus_indices();
                };break;
                case 8:
                {
                     Transpuesta();
                };break;
                case 9:
                {
                     Identidad();
                };break;
                case 10:
                {
                     Adjunta();
                };break;
         }//fin_switch
    }while(opcion=!0);
}//fin_programa      
          
//Zona de funciones:
//caso 1:
int leer_matriz()
{
    cout<<"^^^Asigne los elementos de la matriz M[i][j]^^^"<<endl;
    for(i=1;i<=3;i++)
    for(j=1;j<=3;j++)
    cin>>M[i][j];
    cout<<endl;
}
//caso 2:
int mirar_matriz()
{
    cout<<"   ::::OBERVANDO MATRIZ M[i][j]::::"<<endl;
    cout<<endl;
    for(i=1;i<=3;i++)
    {
    for(j=1;j<=3;j++)
    {
    cout<<" | M["<<i<<"]["<<j<<"]="<<M[i][j];
    }
    cout<<endl;
    }cout<<endl;
}
//caso 3:
int suma_de_elementos()
{
                    suma=0;
                    for(i=1;i<=3;i++)
                    for(j=1;j<=3;j++)
                    suma=suma+M[i][j];
                    cout<<"La suma de elementos de la matriz es: "<<suma<<endl;
                    cout<<endl;
}
//caso 4:
int leer_2_matrices()
{
    cout<<"Asigne los elementos de la matriz A:"<<endl;
             for(i=1;i<=3;i++)
             for(j=1;j<=3;j++)
             cin>>A[i][j];
             cout<<endl;
             cout<<"Asigne los elementos de la matris B:"<<endl;
             for(i=1;i<=3;i++)
             for(j=1;j<=3;j++)
             cin>>B[i][j];
             cout<<endl;
}
//caso 5:
int suma_de_2_matrices()
{
                    for(i=1;i<=3;i++)
                    for(j=1;j<=3;j++)
                    M[i][j]=A[i][j]+B[i][j];
                    mirar_matriz();
                    cout<<endl;
}
//caso 6:
int Maximo_y_sus_indices()
{
                      cout<<"<<<<<<Calculo del Maximo de M>>>>>>"<<endl;
                      cout<<endl;
                      maximo_M=M[1][1];
                      for(i=1;i<=3;i++)
                      for(j=1;j<=3;j++)
                      {          
   if(M[i][j]>=maximo_M)
   {
    maximo_M=M[i][j];
    indice1_M=i;
    indice2_M=j;
   }
  }
  cout<<"  El maximo es :"<<maximo_M<<endl;
  cout<<"  valor maximo en el indice 1: "<<indice1_M<<endl;
  cout<<"  valor maximo en el indice 2: "<<indice2_M<<endl;
  cout<<endl;    
}
//caso 7:
int Minimo_y_sus_indices()
{
    cout<<"<<<<<<Calculo del Minimo de M>>>>>>"<<endl;
    cout<<endl;
                      minimo_M=M[1][1];
                      for(i=1;i<=3;i++)
                      for(j=1;j<=3;j++)
                      {          
   if(M[i][j] <= minimo_M)
   {
    minimo_M = M[i][j];
    indice1_M=i;
    indice2_M=j;
   }
  }
  cout<<"  El minimo es :"<<minimo_M<<endl;
  cout<<"  Valor minimo en el indice 1: "<<indice1_M<<endl;
  cout<<"  Valor minimo en el indice 2: "<<indice2_M<<endl;
  cout<<endl;    
}
//caso 8:
int Transpuesta()
{
    //transpuesta=M[j][i];
    cout<<"&&& TRANSPUESTA &&&"<<endl;
    cout<<endl;
    for(i=1;i<=3;i++)
    for(j=1;j<=3;j++)
    {
    cout<<"     M["<<i<<"]["<<j<<"]="<<M[j][i]<<endl;
    }cout<<endl;
}
//caso 9:
int Identidad()
{
    for(i=1;i<=3;i++)
    for(j=1;j<=3;j++)
    {
     if(i==j)                
       M[i][j]=1;
     else
      M[i][j]=0;  
   }
   mirar_matriz();
   cout<<endl;  
}
//caso 10:
int Adjunta()
{
    cout<<"£££ ADJUNTO £££"<<endl;
    cout<<endl;
    COF[1][1]=(M[2][2]*M[3][2])-(M[3][2]*M[2][3]);
    COF[1][2]=-((M[2][1]*M[3][2])-(M[3][1]*M[2][3]));
    COF[1][3]=(M[2][1]*M[3][2])-(M[3][1]*M[2][2]);
    COF[2][1]=-((M[1][2]*M[3][3])-(M[3][2]*M[2][3]));
    COF[2][2]=(M[1][1]*M[3][3])-(M[3][1]*M[1][3]);
    COF[2][3]=-((M[1][1]*M[3][2])-(M[3][1]*M[1][2]));
    COF[3][1]=(M[1][2]*M[2][3])-(M[2][2]*M[1][3]);
    COF[3][2]=-((M[1][1]*M[2][3])-(M[2][1]*M[1][3]));
    COF[3][3]=(M[1][1]*M[2][2])-(M[2][1]*M[1][2]);
    for(i=1;i<=3;i++)
    for(j=1;j<=3;j++)
    {
     cout<<"   M["<<i<<"]["<<j<<"]="<<COF[j][i]<<endl;
    }cout<<endl;

}


No hay comentarios:

Publicar un comentario