El codigo que postea caf2021 parece estar bien los ingresos, pero le faltan los procesos, aquí les coloco solución para el problema de ambos. El programa está compilado en turbo c++ 3.0.
Código C++:
Ver original#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int matrizA[4][4],matrizB[4][4],matrizR[4][4];
void presentar(int fila,int columna,int matriz[4][4])
{
int i=0,j=0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
gotoxy(columna+j*4,fila+i);
cout << matriz[i][j];
}
}
}
void sumar()
{
int i=0,j=0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
matrizR[i][j]=matrizA[i][j]+matrizB[i][j];
}
gotoxy(5,1); cout << "MATRIZ A";
gotoxy(35,1); cout << "MATRIZ B";
presentar(3,5,matrizA);
presentar(3,32,matrizB);
cout << "\nLA SUMA DE A + B es:";
presentar(12,30,matrizR);
}
void multiplicar()
{
int i=0,k=0,l=0;
int acum=0;
for(i=0;i<4;i++)
{
for(k=0;k<4;k++)
{
for(l=0;l<4;l++)
{
acum=acum+matrizA[i][l]*matrizB[l][k];
}
matrizR[i][k]=acum;
acum=0;
}
}
gotoxy(5,1); cout << "MATRIZ A";
gotoxy(35,1); cout << "MATRIZ B";
presentar(3,5,matrizA);
presentar(3,32,matrizB);
cout << "\nLA MULTIPLICACION DE A * B es:";
presentar(12,30,matrizR);
}
void ingresar()
{
int i=0,j=0;
cout << "INGRESO DE MATRIZ A INGRESO MATRIZ B";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
gotoxy(5+j*4,3+i);
cin >> matrizA[i][j];
}
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
gotoxy(32+j*4,3+i);
cin >> matrizB[i][j];
}
}
}
void menu()
{
char tecla;
do
{
clrscr();
gotoxy(15,2); cout << "*** MENU PRINCIPAL ***";
gotoxy(10,6); cout << "[1] INGRESAR MATRICES";
gotoxy(10,8); cout << "[2] SUMA";
gotoxy(10,10); cout << "[3] MULTIPLICACION";
gotoxy(10,12); cout << "[4] SALIR";
gotoxy(10,16); cout << "OPCION: ";
tecla=getche();
clrscr();
switch(tecla)
{
case '1': ingresar();
break;
case '2': sumar();
break;
case '3': multiplicar();
break;
}
}while(tecla!='4');
}
void main()
{
menu();
}