Física | Análise de Circuitos | Lógica de Programação | Tecnologia da Informação | Sobre o blog

terça-feira, 16 de novembro de 2010

L7 - 13 - Escreva um algoritmo que leia duas matrizes 3 X 3 e coloque o produto da multiplicação delas em uma terceira matriz.

Escreva um algoritmo que leia duas matrizes 3 X 3 e coloque o produto da multiplicação delas em uma terceira matriz. No exemplo abaixo é mostrado o resultado da multiplicação de duas matrizes:
Sendo A e B as matrizes multiplicando e multiplicador, a matriz produto C é obtida da seguinte forma:
A0,0 X B0,0 + A0,1 X B1,0 + A0,2 X B2,0
A1,0 X B0,0 + A1,1 X B1,0 + A1,2 X B2,0
A2,0 X B0,0 + A2,1 X B1,0 + A2,2 X B2,0

A0,0 X B0,1 + A0,1 X B1,1 + A0,2 X B2,1
A1,0 X B0,1 + A1,1 X B1,1 + A1,2 X B2,1
A2,0 X B0,1 + A2,1 X B1,1 + A2,2 X B2,1

A0,0 X B0,2 + A0,1 X B1,2 + A0,2 X B2,2
A1,0 X B0,2 + A1,1 X B1,2 + A1,2 X B2,2
A2,0 X B0,2 + A2,1 X B1,2 + A2,2 X B2,2

Algoritmo "exercício13"
Var
    matA: vetor [1..3,1..3] de inteiro
    matB: vetor [1..3,1..3] de inteiro
    matC: vetor [1..3,1..3] de inteiro
    i, j: inteiro
Inicio
    Escreval("Informe os valores da matriz A:")
    Para i de 1 ate 3 faca
        Para j de 1 ate 3 faca
            Escreva("Matriz A ",i , " x ",j , " : ")
            Leia(matA[i,j])
        Fimpara
    Fimpara
    Limpatela
    Escreval("Informe os valores da matriz B:")
    Para i de 1 ate 3 faca
        Para j de 1 ate 3 faca
            Escreva("Matriz B ",i , " x ",j , " : ")
            Leia(matB[i,j])
        Fimpara
    Fimpara
    Limpatela
    Para i de 1 ate 3 faca
        Para j de 1 ate 3 faca
            matC[i,j] <- ( matA[i,1] * matB[1,j] ) + (matA[i,2] * matB[2,j] ) + (matA[i,3] * matB[3,j] )
            Escreval("Matriz C ",i , " x ",j , " : ", matC[i,j])
        Fimpara
    Fimpara
Fimalgoritmo
 Algoritmo Verificado! 

Um comentário:

Thaís.*; disse...

Obrigada por compartilhar :D