/* PROYECTO 4: Elaborar una calculadora de matrices | Suma y Resta
Dos matrices de las mismas dimensiones se puede sumar o restar;
la suma o resta de dos matrices de diferentes dimensiones no.
La suma y resta de dos matrices de las mismas dimensiones es una matriz de las mismas dimensiones
y se obtiene sumando o restando sus elementos correspondientes.
* Hacer 3 matrices- dos para multiplicar y una para el resultado
* Debe validarse que tengan las mismas dimensiones
* Sumar matrices y el resultado ponerlo en la tercera matriz
*/
#include<iostream>
#include<conio.h>
using namespace std;
int main(){
//-------------------------------------VARIABLES--------------------------------------------
int i, j, f, c, opc;
bool fcierto= false, ccierto=false, pase=false;
//-----------------------------------OPERACIONES-------------------------------------------
cout<<"\t******************************************************************"<<endl;
cout<<"\t* Proyecto#4:Elaborar una calculadora de matrices (Suma y Resta) *"<<endl;
cout<<"\t******************************************************************"<<endl<<endl;
do{
cout<<"\n\t Para evitar un valor muy altos solo se permite valores entre 1 a 15.\n";
cout<<"\n\t Establezca de cuanto sera las filas de la matriz: ";//2
cin>>f;
if( f > 0 && f < 16){
fcierto=true;
}else{
fcierto=false;
}
cout<<"\n\t Establezca de cuanto sera las columnas de la matriz: ";//4
cin>>c;
if( c > 0 && c < 16){
ccierto=true;
}else{
ccierto=false;
}
if(fcierto == ccierto){
pase=true;
}else{
pase= false;
}
}while( pase == false); //Si es falso, entonces sale//repite por verdadero
/*cout<<"\t Su matriz #1 es de: "<<f<<"x"<<c<<"\n";
cout<<"\t Su matriz #2 es de: "<<ff<<"x"<<cc<<"\n";*/
int mA[f][c], mB[f][c], resultado[f][c];
f-=1;
c-=1;
cout<<"***************************************************************************"<<endl;
cout<<"\t Ingreso de la matriz #1:\n\n";
for(i=0; i<=f;i++){
for(j=0; j<=c; j++){
cout<<"\t Fila #"<<i+1<<" Columna #"<<j+1<<": ";
cin>>mA[i][j];
cout<<"\n";
}
cout<<"\n\n";
}
//error esta en f y c se restan
cout<<"***************************************************************************"<<endl;
cout<<"\t Ingreso de la matriz #2:\n\n";
for(i=0; i<=f;i++){
for(j=0; j<=c; j++){
cout<<"\t Fila #"<<i+1<<" Columna #"<<j+1<<": ";
cin>>mB[i][j];
cout<<"\n";
}
cout<<"\n\n";
}
getch();
do{
cout<<"***************************************************************************"<<endl;
cout<<"\n\t Elija alguna de las dos opciones para hacer el calculo correspondiente: ";
cout<<"\n\n\t\t 1.- Sumar las matrices.";
cout<<"\n\t\t 2.- Restar las matrices.";
cout<<"\n\t\t 3.- Salir.";
cout<<"\n\t\t Opcion: ";cin>>opc;
cout<<"***************************************************************************"<<endl;
switch(opc){
case 1:
pase=false;
for(i=0; i<=f;i++){
for(j=0; j<=c; j++){
resultado[i][j] = mA[i][j] + mB[i][j];
}
}
//RESULTADO
cout<<"\n Matriz A: \n";
for(i=0; i<=f;i++){
cout<<"\t\t\t";
for(j=0; j<=c; j++){
cout<<mA[i][j]<<" ";
}
cout<<"\n\n";
}
cout<<"***************************************************************************"<<endl;
cout<<"\n Matriz B: \n";
for(i=0; i<=f;i++){
cout<<"\t\t\t";
for(j=0; j<=c; j++){
cout<<mB[i][j]<<" ";
}
cout<<"\n\n";
}
cout<<"***************************************************************************"<<endl;
cout<<"\n SUMA DE LAS MATRICES: \n";
getch();
for(i=0; i<=f;i++){
cout<<"\t\t\t";
for(j=0; j<=c; j++){
cout<<resultado[i][j]<<" ";
}
cout<<"\n\n";
}
getch();
break;
case 2:
pase=false;
for(i=0; i<=f;i++){
for(j=0; j<=c; j++){
resultado[i][j] = mA[i][j] - mB[i][j];
}
}
//RESULTADO
cout<<"\n Matriz A: \n";
for(i=0; i<=f;i++){
cout<<"\t\t\t";
for(j=0; j<=c; j++){
cout<<mA[i][j]<<" ";
}
cout<<"\n\n";
}
cout<<"***************************************************************************"<<endl;
cout<<"\n Matriz B: \n";
for(i=0; i<=f;i++){
cout<<"\t\t\t";
for(j=0; j<=c; j++){
cout<<mB[i][j]<<" ";
}
cout<<"\n\n";
}
cout<<"***************************************************************************"<<endl;
cout<<"\n RESTA DE LAS MATRICES: \n";
getch();
for(i=0; i<=f;i++){
cout<<"\t\t\t";
for(j=0; j<=c; j++){
cout<<resultado[i][j]<<" ";
}
cout<<"\n\n";
}
getch();
break;
case 3:
cout<<"\n\t\t Hasta Pronto.. :D\n\n";
pase=true;
break;
default:
cout<<"Error!...No existe una opcion con ese numero. Intente de nuevo...\n\n"<<endl;
pase=false;
getch();
break;
}
//hacer que vuelva si desea
}while(pase!=true); // Mientras se escoja un numero distinto a 1, 2 o 3 se repetira.
cout<<"\n\t\t Hecho por Victor Galarza \n\n"<<endl<<endl;
cout<<"***************************************************************************";
return 0;
}