Ir para conteúdo
Fórum Script Brasil

João Lucas Alves de Macedo

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre João Lucas Alves de Macedo

João Lucas Alves de Macedo's Achievements

0

Reputação

  1. Olá, caros usuários, prazer! Faz pouco tempo que comecei a estudar programação em C, cheguei na parte de matrizes e me deparei com um problema num código para efetuar o produto das mesmas. Já comparei meu código com alguns outros que vi na internet, porém, não consegui achar o meu erro... Segue abaixo o meu código, caso alguém possa me ajudar, ficarei extremamente grato! #include <stdio.h> #include <stdlib.h> #define TAM 2 //usei essa constante TAM para representar o tamanho das linhas e das colunas, que são iguais no meu algoritmo. main () { int matA[TAM][TAM], matB[TAM][TAM], matR[TAM][TAM]; //declaração das matrizes A e B, que serão multiplicadas, e, da minha matriz R que vai receber o resultado. for (int n=1; n<3; n++) { //esse for mais externo, é basicamente para efetuar a leitura das duas matrizes, A e B. for (int i=0; i<TAM; i++) { for (int j=0; j<TAM; j++){ printf ("Digite o valor %ix%i da matriz %i: \n", i+1, j+1, n); if (n==1) //com essa condicional, a maquina saberá quando guardar os valores de A e quando começar a guardar os valores de B scanf ("%i", &matA[j]); else scanf ("%i", &matB[j]); } printf ("\n"); } printf ("\n"); } for (int n=0; n<2; n++) { /*esse conjunto de laços for aqui é para exibir os valores das matrizes A e B logo depois que o usuário inseri-los. for (int i=0; i<TAM; i++) { eu testei com somente essa parte, de pedir os valores das matrizes, for (int j=0; j<TAM; j++) { armazena-los e de logo em seguida exibi-los, e até aqui, está tudo ok. Os valores são capturados e exibidos corretamente...*/ if (n==0) printf ("%i-", matA[j]); else printf ("%i-", matB[j]); } printf("\n"); } printf("\n"); } for (int i=0; i<TAM; i++) { //essa parte é a que faz a multiplicação das matrizes, creio que o meu erro esteja aqui [...] for (int j=0; j<TAM; j++) { for (int k=0; k<TAM; k++) { matR[j] = matR[j]+(matA[k]*matB[k][j]); } } } for (int i=0; i<TAM; i++) { //[...] ou aqui. Essa é para exibir a matriz com o resultado da multiplicação. for (int j=0; j<TAM; j++) { printf ("%i ", matR[j]); } printf("\n"); } system ("pause"); return 0; }
×
×
  • Criar Novo...