avaluacion 4
#include <iostream>
#include <math.h>
using namespace std;
const int n=2, m=2;
int i, j, SUMA, PROM, men , M;
int Matriz[n][m], T[n][m], A[n][m], B[n][m], C[n][m]; // DECLARACION
int LeerMatriz();
int SumaElementos();
int ImprimirElementos();
int MatrizIdentidad();
int MatrizTranspuesta();
int SumaMatrices();
int ElementosCentrales();
int Promedio(), MayMen();
int main( )
{
int Opcion;
do
{
cout<<"***** MENU ************* \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 MATRICES \n";
cout<<" 8) PROMEDIO DE ELEMENTOS DE LA MATRIZ \n";
cout<<" 9) CONTAR LOS MAYORES Y MENORES DE ELEMENTOS DE LA MATRIZ \n \n";
cout<<"10) DETERMINANTE"
cout<<" *********************** \n\n";
cout<<" Ingrese una Opcion: "; cin>> Opcion;
// swhitch
switch (Opcion)
{ //Inicio Switch
case 1:
{
LeerMatriz();
}
break;
case 2:
{
SumaElementos();
}
break;
case 3:
{
ImprimirElementos();
}
break;
case 4:
{
MatrizIdentidad(); // INVOCACION
}
break;
case 5:
{
MatrizTranspuesta(); // INVOCACION
}break;
case 6:
{
SumaMatrices(); // INVOCACION
}break;
case 7:
{
ElementosCentrales(); // INVOCACION
}break;
case 8:
{
Promedio(); // INVOCACION
}break;
case 9:
{
MayMen(); // INVOCACION
}break;
case 10:
{
Promedio(); // INVOCACION
}break;
} // Fin Switch
}while(Opcion !=0); // FIN DEL WHILE
cout<<endl;
system ("pause");
return 0;
} // FIN DEL PROGRAMA
// DESARROLLO DE LAS FUNCIONES
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 SumaElementos()
{
cout<<"***** SUMAR LOS ELEMENTOS DE UNA MATRIZ **** \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 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 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];
}
cout<<"********************************************** \n\n";
}
int MatrizTranspuesta()
{
cout<<"***** CONVIERTE A UNA MATRIZ IDENTIDAD **** \n";
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
if(i!=j)
T[i][j] = Matriz[j][i];
}
// IMPRESION DE LOS ELEMENTOS DE LA MATRIZ
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] \n ";
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] \n ";
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
cout<<"B["<<i<<"]["<<j<<"] = "; cin>>B[i][j];
}
// PROCESO
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
C[i][j] = A[i][j] + B[i][j];
}
// RESULTADO
cout<<"LA SUMA DE LAS 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 Promedio()
{
cout<<"********* PROMEDIO DE LOS ELEMENTOS ************************* \n\n";
SUMA=0;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
SUMA = SUMA + Matriz[i][j];
}
PROM = SUMA/(n*m);
cout<<"El promedio de la Matriz es: "<<PROM <<endl;
cout<<"************************************************************* \n\n";
}
int MayMen()
{
M=0;
men=0;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
if (Matriz[i][j]>PROM)
M = M + 1;
if (Matriz[i][j]<PROM)
men = men + 1;
}
cout<<"Tiene "<< M << "Valores Mayores al promedio de"<< PROM <<endl;
cout<<"Tiene "<< men << "Valores Menores al promedio de"<< PROM <<endl;
}
int determinante()
{
cout<<"********* determinante de una matriz ************** \n\n";
double det(double **m, int b)
{
double determinante = 0, aux = 0;
int c;
if(b==2)
return m[0][0]*m[1][1] - m[1][0]*m[0][1];
else
{
for(int j=0; j < b; j++)
{
double **menor=(double **)malloc(sizeof(double)*(b-1));
for(int h=0; h < (b-1); h++)
menor[h] = (double *)malloc(sizeof(double)*(b-1));
for(int k=1; k < b; k++)
{
c = 0;
for(int l=0; l < b; l++)
{
if(l!=j)
{
menor[k-1][c] = m[k][l];
c++;
}
}
}
aux = pow(-1, 2+j)*m[0][j]*det(menor, b-1);
determinante += aux;
for(int q = 0; q < (b-1); q++)
free(menor[q]);
free(menor);
}
return determinante;
}
}
No hay comentarios.:
Publicar un comentario