#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
int matrizA[20][20], matrizB[20][20], matrizC[20][20], i=0, j=0, k=0, op=0, filas=0, columnas=0, regresar=0, m=0, n=0, z=0, suma=0;
srand(time(NULL));
while(op!=3)
{
system("cls");
cout<<"Menu de Operaciones\\n1.-Suma de Matrices\\n2.-Multiplicacion de Matrices\\n3.-Salir\\nEscoja una opcion"<<endl;
cin>>op;
switch(op)
{
case 1:
cout<<"Ingrese el numero de filas y columnas de la matriz A"<<endl;
cin>>filas>>columnas;
for(i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
matrizA[i][j]=1+rand()%(11-1);
matrizB[i][j]=1+rand()%(11-1);
}
}
cout<<"Las Matrices son:"<<endl<<endl<<"Matriz A"<<endl;
for(i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
cout<<matrizA[i][j]<<"\\t";
}
cout<<endl;
}
cout<<endl<<"Matriz B"<<endl;
for(i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
cout<<matrizB[i][j]<<"\\t";
}
cout<<endl;
}
cout<<endl<<endl<<"La suma de las matrices son:"<<endl;
for(i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
matrizC[i][j]=matrizA[i][j]+matrizB[i][j];
}
}
for(i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
cout<<matrizC[i][j]<<"\\t";
}
cout<<endl;
}
cout<<"Desea regresar al menu 1/si 2/no"<<endl;
cin>>regresar;
if(regresar==2)
{
op=3;
}
break;
case 2:
cout<<"Ingrese el numero de filas y columnas de la matriz A"<<endl;
cin>>m>>n;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
matrizA[i][j]=1+rand()%(11-1);
}
}
cout<<endl<<"Matriz A"<<endl;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
cout<<matrizA[i][j]<<"\\t";
}
cout<<endl;
}
cout<<endl<<"Ingrese el numero de columnas de la matriz B"<<endl;
cin>>z;
for(i=0;i<n;i++)
{
for(j=0;j<z;j++)
{
matrizB[i][j]=1+rand()%(11-1);
}
}
cout<<endl<<"Matriz B"<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<z;j++)
{
cout<<matrizB[i][j]<<"\\t";
}
cout<<endl;
}
//multiplicacion
for(i=0;i<m;i++)
{
for(j=0;j<z;j++)
{
for(k=0;k<n;k++)
{
suma=suma+(matrizA[i][k]*matrizB[k][j]);
}
matrizC[i][j]=suma;
suma=0;
}
}
cout<<endl<<"Matriz C"<<endl;
for(i=0;i<m;i++)
{
for(j=0;j<z;j++)
{
cout<<matrizC[i][j]<<"\\t";
}
cout<<endl;
}
cout<<"Desea regresar al menu 1/si 2/no"<<endl;
cin>>regresar;
if(regresar==2)
{
op=3;
}
break;
case 3:
exit(0);
cout<<"Desea regresar al menu 1/si 2/no"<<endl;
cin>>regresar;
if(regresar==2)
{
op=3;
}
break;
default:
cout<<"Opcion no valida"<<endl;
getch();
break;
}
}
return 0;
}