Ir ao conteúdo
  • Cadastre-se

Soma de duas Matriz


ggdd

Posts recomendados

Olá, á todos amigos do fórum! Bom, estou terminando um exercício de matriz, e ao apresentar o valor de cada soma, como exemplo;

[A1,1] + [b1,1] = [C1,1]

[A1,2] + [b1,2] = [C1,2]

[A2,1] + [b2,1] = [C2,1]

[A2,2] + [b2,1] = [C2,2]

algoritmo "semnome"
// Função :
// Autor :
// Data : 05/11/2013
// Seção de Declarações
var
m1,m2,m3: vetor [1..2,1..2] de inteiro
i,j:inteiro
inicio

//A matriz 1

para i de 1 ate 2 passo 1 faca
j <- j+1
escreval ("digite n 1")
leia (m1[i,j])

j <- j+1
escreval ("digite n 2")
leia (m1[i,j])

j <- 0;
fimpara

// A matriz 2

para i de 1 ate 2 passo 1 faca
j <- j+1
escreval ("digite n 1")
leia (m2[i,j])

j <- j+1
escreval ("digite n 2")
leia (m2[i,j])

j <- 0;
fimpara

//A matriz 3

para i de 1 ate 2 passo 1 faca
escreval ("Soma das Matrizes A e B")

j <- j+1

m3[i,j] <- m1[i,j] + m2[i,j]

escreval ("A soma é de:",m3[i,j])
j <- 0

fimpara
fimalgoritmo

Após mostrar as somas em m3[i,j] apenas aparece a soma entre;

m1[1,1] + m2[1,1]

m1[2,1] + m2 [2,1]

Como prossegue para que mostre a soma de todos? Aguardo...

Link para o comentário
Compartilhar em outros sites

ggdd,

Você pode lançar mão de laços aninhados para evitar toda essa trabalheira que está tendo para ler as matrizes. Exemplo de leitura da Matriz A:

para i de 1 ate 2 faca
para j de 1 ate 2 faca
escreva("Matriz A [",i,j,"]: ")
leia (m1[i,j])
fimpara
fimpara

Faça o mesmo para a leitura da Matriz B e depois basta somar as matrizes. Use laços aninhados da mesma forma.

[]'s

LNW

Link para o comentário
Compartilhar em outros sites

LWN, quando uso 2 laços i e j, no caso, m1[i,j], quando passa para [1..1], [1..2], quando pula para [2..1] e [2..2] ele fica gravado na mesma memória, onde preciso usar um contador; i <- i+1. Irei verificar este, o problema é no final, quando vai mostrar as somas, como mostrei, ele só soma os específicos, e não tudo.

Link para o comentário
Compartilhar em outros sites

ggdd,

quando uso 2 laços i e j, no caso, m1[i,j], quando passa para [1..1], [1..2], quando pula para [2..1] e [2..2] ele fica gravado na mesma memória, onde preciso usar um contador; i <- i+1.

Creio que ainda tenha dúvidas quanto à manipulação de matrizes (inserção e recuperação de elementos).

Você tem uma matriz 2x2 que totaliza 4 (quatro) posições diferentes para o armazenamento de valores. Para preenchê-la totalmente, você poderia fazer as seguintes leituras:


leia (m1[1, 1])
leia (m1[1, 2])
leia (m1[2, 1])
leia (m1[2, 2])

Não vai ficar gravado nada "na mesma memória", ou sobrescrevendo, que talvez seja o que esteja querendo dizer.

Suponha que os valores digitados acima fossem: 10, 20, 30 e 40. A sua matriz ficaria preenchida da seguinte maneira:

10 | 20
-------
30 | 40

Entendeu?

Dê uma olhada:

algoritmo "semnome"
// Função :
// Autor :
// Data : 05/11/2013
// Seção de Declarações
var
m1, m2, m3 :vetor [1..2,1..2] de inteiro
i,j :inteiro

inicio

//A matriz 1
para i de 1 ate 2 faca
para j de 1 ate 2 faca
escreva("Matriz A [",i,j,"]: ")
leia (m1[i,j])
fimpara
fimpara

escreval
escreval

// A matriz 2
para i de 1 ate 2 faca
para j de 1 ate 2 faca
escreva("Matriz B [",i,j,"]: ")
leia (m2[i,j])
fimpara
fimpara

escreval
escreval

//A matriz 3
escreval ("Soma das Matrizes A e B:")
escreval
para i de 1 ate 2 faca
para j de 1 ate 2 faca
m3[i,j] <- m1[i,j] + m2[i,j]
escreva("Matriz C [", i,j,"] = ", m3[i,j], " ")
fimpara
escreval
fimpara

fimalgoritmo

[]'s

LNW

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...