Programa de calculo de matrizes
Eu tenho um trabalho para a faculdade, preciso de um programa em c que tenha duas matrizes, e que tenha a opção de fazer as seguintes operações: adição, subtração, multiplicação e mostrar a diagonal. Eu fiz boa parte dele, mas não sei o motivo de não estar dando certo. Se alguém puder ajudar desde já agradeço!
Aqui está o código fonte:
#include <stdio.h>
int
main (void)
{
int menu1;
int i, j, x, y;
int matrizA[x][y];
int matrizB[x][y];
int somatriz[x][y];
somatriz[x][y] = 0;
int submatriz[x][y];
submatriz[x][y] = 0;
int multmatriz[x][y];
multmatriz[x][y] = 0;
printf ("Digite a ordem da matriz:");
scanf ("%d", &x);
printf ("Digite a ordem da matriz:");
scanf ("%d", &y);
printf ("\nDigite valor para os elementos da matriz A\n\n");
for (i = 0; i < x; i++)
for (j = 0; j < y; j++)
{
printf("Elenmento[%d][%d] = ", i, j);
scanf ("%d", &matrizA[j]);
}
printf ("\nDigite valor para os elementos da matriz B\n\n");
for (i = 0; i < x; i++)
for (j = 0; j < y; j++)
{
printf ("\nElemento[%d][%d] = ", i, j);
scanf ("%d", &matrizB[j]);
somatriz[j] = matrizA[j] + matrizB[j];
submatriz[j] = matrizA[j] - matrizB[j];
multmatriz[j] = matrizA[j] * matrizB[j];
}
printf("\n\n\n MENU MATRIZES");
printf("\n\n\nEscolha a operacao desejada\n\n");
printf("1-Somar Matrizes\n");
printf("2-Subtrair matrizes\n");
printf("3-multiplicar matrizes\n");
printf("4-Imprimir a diagonal principal das matrizes\n\n");
printf("Opcao escolhida:");
scanf("%d", &menu1);
switch ( menu1 )
{
case 1 :
for ( i=0; i<x; i++ )
for ( j=0; j<y; j++ )
{
printf ("\nmatrizA[%d][%d] + matrizB[%d][%d] = %d ", i, j, i, j,somatriz[j]);
}
break;
case 2 :
for ( i=0; i<x; i++ )
for ( j=0; j<y; j++ )
{
printf ("\nmatrizA[%d][%d] - matrizB[%d][%d] = %d ", i, j, i, j,submatriz[j]);
}
break;
case 3 :
printf("A multiplicacao eh:");
for(i=0;i<x;i++)
for(j=0;j<y;j++)
{
printf("%d",multmatriz[j]);
}
break;
case 4 :
printf("\n\nDiagonal principal da matriz A eh:");
for (i=0;i<x;i++)
for(j=0;j<y;j++)
{
if(i==j)
printf("%d",matrizA[j]);
}
printf("\nDiagonal principal da matriz B eh:");
for (i=0;i<x;i++)
for(j=0;j<y;j++)
{
if(i==j)
printf("%d",matrizB[j]);
}
break;
default :
printf ("Valor invalido!\n");
}
return 0;
}Discussão (1)
Carregando comentários...