#include <iostream>
#include <math.h>
using namespace std;
int opcion;
int COF[4][4];
int W,i,j,suma,maximo_M,indice1_M,indice2_M,indice1_B,indice2_B,minimo_M,transpuesta,adj;
int M[3][3],A[3][3],B[3][3],Z[3][3];
int leer_matriz(),mirar_matriz(),suma_de_elementos(),leer_2_matrices(),suma_de_2_matrices(),Maximo_y_sus_indices(),Minimo_y_sus_indices(),Transpuesta(),Identidad(),Adjunta();
int main()
{
do
{
cout<<"menu\n";
cout<<"1.leer matriz\n";
cout<<"2.mirar matriz\n";
cout<<"3.sumar elementos de matriz\n";
cout<<"4.leer 2 matrices\n";
cout<<"5.sumar 2 matrices\n";
cout<<"6.maximo de sus indices\n";
cout<<"7.minimo de sus indices\n";
cout<<"8.transpuesta\n";
cout<<"9.identidad\n";
cout<<"10.adjunta\n";
cout<<"ingrese una opcion";
cin>>opcion;
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:
//NUMERO 1.
int leer_matriz()
{
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
cin>>M[i][j];
}
//NUMERO 2.
int mirar_matriz()
{
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
cout<<"M["<<i<<"]["<<j<<"]="<<M[i][j]<<endl;
}
}
}
//NUMERO 3.
int suma_de_elementos()
{
suma=0;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
suma=suma+M[i][j];
cout<<suma;
}
//NUMERO 4.
int leer_2_matrices()
{
cout<<"elementos de MATRIS A" ;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
cin>>A[i][j];
cout<<"elementos de la MATRIS B" ;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
cin>>B[i][j];
}
//NUMERO 5.
int suma_de_2_matrices()
{
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
M[i][j]=A[i][j]+B[i][j];
mirar_matriz();
}
//NUMERO 6.
int Maximo_y_sus_indices()
{
cout<<"calculo del maximo de M"<<endl;
maximo_M=M[1][1];
for(i=1;i<=4;i++)
for(j=1;j<=4;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<<"maximo indice 1: "<<indice1_M<<endl;
cout<<"maximo indice 2: "<<indice2_M<<endl;
}
//NUMERO 7.
int Minimo_y_sus_indices()
{
cout<<"calculo del minimo de M"<<endl;
minimo_M=M[1][1];
for(i=1;i<=4;i++)
for(j=1;j<=4;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<<"minimo indice 1: "<<indice1_M<<endl;
cout<<"minimo indice 2: "<<indice2_M<<endl;
}
//NUMERO 8.
int Transpuesta()
{
//transpuesta=M[j][i];
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
{
cout<<"transpuesta["<<i<<"]["<<j<<"]="<<M[j][i]<<endl;
}
}
//NUMERO 9.
int Identidad()
{
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
{
if(i==j)
M[i][j]=1;
else
M[i][j]=0;
}
mirar_matriz();
}
//NUMERO 10.
int Adjunta()
{
for(i=1; i<=3;i++)
for(j=1; j<=3;j++)
{
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<=4;i++)
for(j=1; j<=4;j++)
cout<<Z[j][i];
for(i=1; i<=3;i++)
for(j=1; j<=3;j++)
cin>>Z[i][j];
cout<<"el valor de Z[][]:"<<endl;
}
No hay comentarios:
Publicar un comentario