Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — UFES 2016

ProgramaçãoLinguagens de programação
Código
qq235479
Banca
UFES
Órgão
UFES
Ano
2016
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Na matemática, a multiplicação de duas matrizes, matA por matB, resulta em uma outra matriz, matC, em que cada elemento é dado pela soma das multiplicações, elemento a elemento, da linha equivalente em matA pela coluna equivalente em matB. Dadas duas matrizes de inteiros, int matA[LA][CA] e int matB[LB][CB], com um total de LA e LB linhas, respectivamente, com um total de CA e CB colunas, respectivamente, e com CA igual a LB, o trecho de código C capaz de gerar uma matriz matC como resultado da multiplicação de matA por matB é
  1. Aint l, c, k, soma;int matC[LA][CB];for (l = 0; l < LA; l++) {for (c = 0; c < CB; c++) {soma = 0;for (k = 0; k < CA; k++){soma += matA[l][k] * matB[k][c];}matC[l][c] = soma;}}
  2. Bint l, c, k, soma = 0;int matC[LA][CB];for (l = 0; l < LA; l++) {for (c = 0; c < CB; c++) {for (k = 0; k < CA; k++){soma += matA[l][k] * matB[k][c];}matC[l][c] = soma;}}
  3. Cint l, c, k, soma;int matC[LA][CB];for (l = 0; l < LA; l++) {for (c = 0; c < CB; c++) {soma = 0;for (k = 0; k < CA; k++){soma = matA[l][k] * matB[k][c];}matC[l][c] = soma;}}
  4. Dint l, c, soma = 0;int matC[LA][CB];for (l = 0; l < LA; l++) {for (c = 0; c < CB; c++) {soma += matA[l][c] * matB[l][c];matC[l][c] = soma;}}
  5. Eint l, c, k, soma;int matC[LA][CB];for (l = 0; l < LA; l++) {for (c = 0; c < CB; c++) {soma = 0;for (k = 0; k < CA; k++){soma += matA[k][l] * matB[c][k];}matC[l][c] = soma;}}
Revelar gabarito e comentário

GabaritoA — int l, c, k, soma; int matC[LA][CB]; for (l = 0; l < LA; l++) { for (c = 0; c < CB; c++) { soma = 0; for (k = 0; k < CA; k++){ soma += matA[l][k] * matB[k][c]; } matC[l][c] = soma; } }

Link permanente: /questoes/qq235479