martes, 1 de diciembre de 2015
determinante de una matriz
#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;
}
}
}
matrices,,
#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<<" *********************** \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;
} // 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;
}
determinante de una matriz
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
int
DETERMINANTE(int a[][100],int orden);//prototipo de la funcion det
main()
{
int
n;
int
mat[100][100];
srand(time(NULL));
cout<<"Ingrese el orden de la
matriz:";cin>>n;
for(int j=0;j<n;j++)
for(int i=0;i<n;i++)
mat[i][j]=rand()%11;
cout<<"La matriz aleatoria
es:"<<endl;
for(int j=0;j<n;j++)
{for(int i=0;i<n;i++)
cout<<mat[i][j]<<" ";
cout<<endl;
}
cout<<"Su determinante es:
"<<DETERMINANTE(mat,n)<<endl;
system("pause");
}
int DETERMINANTE(int a[][100],int orden)
{
int det=0;
int
aux1[100][100];
int
aux2[100][100];
if(orden==1)
return a[0][0];
for(int
i=0;i<orden;i++)
{
if(i%2==0)
{for(int
y=0;y<orden;y++)
for(int x=0;x<orden;x++)
if(x<i)
aux1[x][y]=a[x][y+1];
else
aux1[x][y]=a[x+1][y+1];
det=det+a[i][0]*DETERMINANTE(aux1,orden-1);
}
else
{for(int
y=0;y<orden;y++)
for(int x=0;x<orden;x++)
if(x<i)
aux2[x][y]=a[x][y+1];
else
aux2[x][y]=a[x+1][y+1];
det=det-a[i][0]*DETERMINANTE(aux2,orden-1);
}
}
return det;
}
Suscribirse a:
Entradas (Atom)