Ir para conteúdo
Fórum Script Brasil
  • 0

Algoritmo Modularização em Portugol


Marco de Oliveira

Pergunta

Olá pessoal,

 

O algoritmo abaixo deve informar a soma das matrizes A e B porém não está funcionando. Já alterei variáveis, renomeei, mas não consegui resolver porque a matriz C imprime zerada.

 

 

programa
{
    funcao inicio()
    {
        const inteiro LIN = 3, COL = 4 //declara duas constantes
        inteiro A[LIN][COL]            //cria a matriz A
        inteiro B[LIN][COL]            //cria a matriz B
        inteiro C[LIN][COL]            //cria a matriz C

        escreva ("Digite os elementos da Matriz A: \n")
        Leitura_Matriz (A, LIN, COL)
        escreva ("Digite os elementos da Matriz B: \n")
        Leitura_Matriz (B, LIN, COL)
        Soma_Matriz (A, B, C, LIN, COL)
        escreva ("Os elementos da Matriz C são: \n")
        Imprime_Matriz (C, LIN, COL)
    }

    funcao Leitura_Matriz (inteiro &Mat[][], inteiro qlin, inteiro qcol) {
        inteiro l, c
        para (l = 0; l < qlin; l++) {
            para (c = 0; c < qcol; c++) {
                escreva ("Digite o elemento ", l, ",", c, ": ")
                leia (Mat[l][c])
            }
        }
    }

    funcao Soma_Matriz (inteiro M1[][], inteiro M2[][], inteiro M3[][], inteiro qlin, inteiro qcol) {
        inteiro l, c
        para (l = 0; l < qlin; l++) {
            para (c = 0; c < qcol; c++) {
                M3[l][c] = M1[l][c] + M2[l][c]
            }
        }
    }

    funcao Imprime_Matriz (inteiro Mat[][], inteiro qlin, inteiro qcol) {
        inteiro l, c
        para (l = 0; l < qlin; l++) {
            para (c = 0; c < qcol; c++) {
                escreva (Mat[l][c], "; ")
            }
            escreva ("\n")
        }
    }
}

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

E como faço isso? Seria usando algo como: retorne M3? Se for isso, já tentei mas o Portugol me diz que o símbolo M3 já foi declarado como uma matriz, que já está sendo utilizada como variável e dá erro. Fiz assim:

 

funcao Soma_Matriz (inteiro M1[][], inteiro M2[][], inteiro M3[][], inteiro qlin, inteiro qcol) {
        inteiro l, c, M3 = 0
        para (l = 0; l < qlin; l++) {
            para (c = 0; c < qcol; c++) {
                M3[l][c] = M1[l][c] + M2[l][c]
            }
        }
        retorne M3
    }

Link para o comentário
Compartilhar em outros sites

  • 0

Uhuu!!!

Oche eu que o diga Markus! Muito obrigado pela força. Desculpe por não ter entendido do que se tratava o tal 'ponteiro' mas ainda estou me familiarizando com alguns termos mais técnicos.

Já havia tentado essa opção só que na função Imprime_Matriz achando que pudesse ser lá o problema. kkk Mas agora no lugar certo funcionou.

Obrigado pela disposição em ajudar!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...