
suma,resta y multiplicación de matrices de cualquier orden
C/Visual C
Publicado el 17 de Abril del 2018 por Eder
2.323 visualizaciones desde el 17 de Abril del 2018
sirve para sumar, restar y multiplicar matrices de cualquier orden no mayor a 10x10
#include <iostream>
#include <conio.h>
using namespace std;
float x[10][10],y[10][10],z[10][10];
int i,j,a,b,m,n,op,k;
void suma();
void resta();
void multi();
string R;
main (){
do{
cout<<"Opcion: suma[1]---resta[2]---multiplicacion[3]---salir[4]"<<endl;
cin>>op;
switch(op){
case 1 : suma();
break;
case 2 : resta();
break;
case 3 : multi();
break;
default : cout<<"Fin"<<endl;
}
cout<<"Hacer otro calculo [si]----[no]?"<<endl;
getline(cin,R);
getline(cin,R);
}while(R=="si");
cout<<"fin del programa";
}
void suma(){
cout<<"dimension de tu matriz 1"<<endl;
cout<<"filas"<<endl;
cin>>m;
cout<<"columnas"<<endl;
cin>>n;
cout<<"dimension de tu matriz 2"<<endl;
cout<<"filas"<<endl;
cin>>a;
cout<<"columnas"<<endl;
cin>>b;
if(m==a && n==b){
for(i=0;i<m;i++)
for(j=0;j<n;j++){
cout<<"Elemento matriz 1: ["<<i<<"]["<<j<<"]"<<endl;
cin>>x[i][j];
}
for(i=0;i<a;i++)
for(j=0;j<b;j++){
cout<<"Elemento matriz 2 ["<<i<<"]["<<j<<"]"<<endl;
cin>>y[i][j];
}
for(i=0;i<m;i++)
for(j=0;j<n;j++){
z[i][j]=x[i][j]+y[i][j];
}
cout<<endl;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<x[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<a;i++){
for(j=0;j<b;j++){
cout<<y[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<z[i][j];
}
cout<<endl;
}
}else
cout<<"no es posible realizar la suma"<<endl;
}
void resta(){
cout<<"dimension de tu matriz 1"<<endl;
cout<<"filas"<<endl;
cin>>m;
cout<<"columnas"<<endl;
cin>>n;
cout<<"dimension de tu matriz 2"<<endl;
cout<<"filas"<<endl;
cin>>a;
cout<<"columnas"<<endl;
cin>>b;
if(m==a && n==b){
for(i=0;i<m;i++)
for(j=0;j<n;j++){
cout<<"Elemento matriz 1: ["<<i<<"]["<<j<<"]"<<endl;
cin>>x[i][j];
}
for(i=0;i<a;i++)
for(j=0;j<b;j++){
cout<<"Elemento matriz 2 ["<<i<<"]["<<j<<"]"<<endl;
cin>>y[i][j];
}
for(i=0;i<m;i++)
for(j=0;j<n;j++){
z[i][j]=x[i][j]-y[i][j];
}
cout<<endl;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<x[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<a;i++){
for(j=0;j<b;j++){
cout<<y[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<z[i][j];
}
cout<<endl;
}
}else
cout<<"no es posible realizar la resta"<<endl;
}
void multi(){
cout<<"dimension de tu matriz 1"<<endl;
cout<<"filas"<<endl;
cin>>m;
cout<<"columnas"<<endl;
cin>>n;
cout<<"dimension de tu matriz 2"<<endl;
cout<<"filas"<<endl;
cin>>a;
cout<<"columnas"<<endl;
cin>>b;
if(n==a){
for(i=0;i<m;i++)
for(j=0;j<n;j++){
cout<<"Elemento matriz 1: ["<<i<<"]["<<j<<"]"<<endl;
cin>>x[i][j];
}
for(i=0;i<a;i++)
for(j=0;j<b;j++){
cout<<"Elemento matriz 2 ["<<i<<"]["<<j<<"]"<<endl;
cin>>y[i][j];
}
for(i=0;i<m;i++)
{for(j=0;j<b;j++)
{z[i][j]=0;
for(k=0;k<n;k++)
{z[i][j]=z[i][j]+x[i][k]*y[k][j];
}
}
}
cout<<endl;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<x[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<a;i++){
for(j=0;j<b;j++){
cout<<y[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<m;i++){
for(j=0;j<b;j++){
cout<<z[i][j];
}
cout<<endl;
}
}else
cout<<"no es posible realizar la multiplicacion"<<endl;
}
Comentarios sobre la versión: 1.0 (0)
No hay comentarios