Estou tentando resolver a seguinte questão...
Isso é o que tenho por enquanto:
#include <stdio.h>
int main() {
int l=2, c=2, a[2][2], b[2][2], r[2][2], i, j, escolha, num, pos;
printf("\nDigite os elementos da matriz A:\n");
for (i = 0; i < l; ++i)
for (j = 0; j < c; ++j) {
printf("Digite o elemento a[%d][%d]: ", i + 1, j + 1);
scanf("%d", &a[i][j]);
}
printf("Digite os elementos da matriz B:\n");
for (i = 0; i < l; ++i)
for (j = 0; j < c; ++j) {
printf("Digite o elemento b[%d][%d]: ", i + 1, j + 1);
scanf("%d", &b[i][j]);
}
do {
printf("\n\nMENU\n\n");
printf("1. Some\n");
printf("2. Subtraia\n");
printf("3. Insira um novo número na matriz A\n");
printf("4. Imprima\n");
printf("5. Saída\n");
scanf("%d",&escolha);
switch (escolha)
{
if (escolha == 1) { case 1: {
for (i = 0; i < l; ++i)
for (j = 0; j < c; ++j) {
r[i][j] = a[i][j] + b[i][j];
}
printf("\nSoma das duas matrizes: \n");
for (i = 0; i < l; ++i)
for (j = 0; j < c; ++j) {
printf("%d ", r[i][j]);
if (j == c - 1) {
printf("\n\n");
break;
}
}
}
}
if (escolha == 2){ case 2: {for (i = 0; i < l; ++i)
for (j = 0; j < c; ++j) {
r[i][j] = a[i][j] - b[i][j];
printf("\nSubtração das duas matrizes: \n");
for (i = 0; i < l; ++i)
for (j = 0; j < c; ++j) {
printf("%d ", r[i][j]);
if (j == c - 1) {
printf("\n\n");
break;
}
}
}
};
}
if (escolha == 3) {case 3: printf("Insira o elemento que quer acrescentar: ");
scanf("%d", &num);
printf("Insira a posição (apenas um número): ");
scanf("%d", &pos);
a[pos-1][j] = num;
printf("Matriz A após a alteração: ");
for (i = 0; i < l; ++i)
for (j = 0; j < c; ++j)
{
printf("%d ", a[i][j]);
if (j == c - 1) {
printf("\n\n");}
}
break;}
if (escolha == 4){case 4:
printf("\nEssa é a matriz A:\n");
printf("%d", &a[i][j]);
if (j == c - 1) {
printf("\n\n");}
printf("\nEssa é a matriz B:\n");
printf("%d", &b[i][j]);
if (j == c - 1) {
printf("\n\n");}
break;}
}
}while (escolha != 5);
return 0;
}
Os itens a) e b) do exercício funcionam, mas não consigo imprimir os itens c) e d) corretamente.
Alguma sugestão?