matrices lab.4

lab.4
#include<iostream>
using namespace std;

int leer(),mirar_matriz(),leer_dos_matrices(),suma_dos_matrices(),multiplicacion_dos_matices(),det_matriz();
int k[4][4],a[4][4],b[4][4],c[4][4],m[4][4],mi[4][4];
int prom_suma(),valor_mayor(),valor_menor(),transpuesta_matriz(),matriz_identidad();
int i,j,l,prom,suma,maximo,ind_i,ind_j,minimo;
int main()
{
int opcion;
do
{
cout<<"\n    menu opciones \n";
cout<<"   1.- leer matriz :\n";
cout<<"   2.- mirar matriz :\n";
cout<<"   3.- leer dos matrices :\n";
cout<<"   4.- sumar dos matrices :\n";
cout<<"   5.- multiplicacion: \n";
cout<<"   6.- promedio de la suma :\n";
cout<<"   7.- maximo y su indice :\n";
cout<<"   8.- minimo y su indice :\n";
cout<<"   9.- transpuesta:\n";
cout<<"   10.-identidad: \n";
cout<<"   11.- determinante de 3x3 :\n";
cout<<"\n  opciones:  ";cin>>opcion;
switch(opcion)
{
case 1:
{
leer();
};break;
case 2:
{
mirar_matriz();
};break;
case 3:
{
leer_dos_matrices();
};break;
case 4:
{
suma_dos_matrices();
};break;
case 5:
{
multiplicacion_dos_matices();
};break;
case 6:
{
prom_suma();
};break;
case 7:
{
valor_mayor();
};break;
case 8:
{
valor_menor();
};break;
case 9:
{
transpuesta_matriz();
};break;
case 10:
{
matriz_identidad();
};break;
case 11:
{
det_matriz();
};break;
}//fin-SWITCH
}while(opcion!=0);
system("pause");
return 0;
}//fim-programa
//ZONA DE FUNCIONES
//CASO 1
int leer()
{
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
cout<<" M["<<i<<"]["<<j<<"] = ";cin>>k[i][j];
}
cout<<endl;
}
}
//CASO 2
int mirar_matriz()
{
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
cout<<"      M["<<i<<"]["<<j<<"] = "<<k[i][j];
}
cout<<"\n";
}
}
//CASO 3
int leer_dos_matrices()
{
cout<<"\n     matriz A[i][j]\n";
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
cout<<" ingrese el valor de A["<<i<<"]["<<j<<"] = ";cin>>a[i][j];
}
cout<<"\n";
}
cout<<"\n     matriz B[i][j]\n";
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
cout<<" ingrese el valor de B["<<i<<"]["<<j<<"] = ";cin>>b[i][j];
}
cout<<"\n";
}
}
//CASO 4
int suma_dos_matrices()
{
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
c[i][j]=a[i][j]+b[i][j];
cout<<"    la suma de S["<<i<<"]["<<j<<"] = "<<c[i][j];
}
cout<<"\n";
}
}
//CASO 5
int multiplicacion_dos_matices()
{
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
m[i][j]=0;
}
}
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
for(l=1;l<=4;l++)
{
m[i][j]=m[i][j]+a[i][l]*b[l][i];
}
}
}
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
cout<<"  M["<<i<<"]["<<j<<"] = "<<m[i][j];
}
cout<<"\n";
}
}

//CASO 6
int prom_suma()
{
suma=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
suma=suma+c[i][j];
}
}
prom=suma/(i*j);
cout<<"el promedio de la suma es: "<<prom<<endl;
cout<<"\n";
}
//CASO 7
int valor_mayor()
{
maximo=m[1][1];
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
if(m[i][j]>=maximo)
{
maximo=m[i][j];
ind_i=i;
ind_j=j;
}
}
}
cout<<"el mayor valor de la matriz 'M' es: \n";
cout<<"  M["<<ind_i<<"]["<<ind_j<<"] = "<<maximo<<endl;
}
//CASO 8
int valor_menor()
{
minimo=m[1][1];
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
if(m[i][j]<=minimo)
{
minimo=m[i][j];
ind_i=i;
ind_j=j;
}
}
}
cout<<"el menor valor de la matriz 'M' es: \n";
cout<<"  M["<<ind_i<<"]["<<ind_j<<"] = "<<minimo<<endl;
}
//CASO 9
int transpuesta_matriz()
{
cout<<"   matriz M \n";
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
cout<<"      M["<<i<<"]["<<j<<"] = "<<m[i][j];
}
cout<<endl;
}
cout<<" La transpuesta de M\n";
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
cout<<"      T["<<i<<"]["<<j<<"] = "<<m[j][i];
}
cout<<endl;
}
}
//CASO 10
int matriz_identidad()
{
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
if(i!=j)
{
m[i][j]=0;
}
if(i==j)
{
m[i][j]=1;
}
cout<<"  I["<<i<<"]["<<j<<"] = "<<m[i][j];
}
cout<<endl;
}
}
//CASO 11
int det_matriz()
{
//DETERMINANTE DE LA MATRIZ A
int primer_deta,segunda_deta,deta,primer_detb,segunda_detb,detb;
primer_deta=(a[1][1]*a[2][2]*a[3][3])+(a[1][2]*a[2][3]*a[3][1])+(a[2][1]*a[3][2]*a[1][3]);
segunda_deta=(a[1][3]*a[2][2]*a[3][1])+(a[1][2]*a[2][1]*a[3][3])+(a[2][3]*a[3][2]*a[1][1]);
deta=primer_deta-segunda_deta;
cout<<"el valor de la determinante de la matriz A es:"<<deta<<endl;
//DETERMINANTE DE LA MATRIZ B
primer_detb=(b[1][1]*b[2][2]*b[3][3])+(b[1][2]*b[2][3]*b[3][1])+(b[2][1]*b[3][2]*b[1][3]);
segunda_detb=(b[1][3]*b[2][2]*b[3][1])+(b[1][2]*b[2][1]*b[3][3])+(b[2][3]*b[3][2]*b[1][1]);
detb=primer_detb-segunda_detb;
cout<<"el valor de la determinante de la matriz B es:"<<detb<<endl;

}

No hay comentarios:

Publicar un comentario