Ir ao conteúdo

Problema com um exercicio de Matrizes (leigo em primeiros passos)


jhoycabj

Posts recomendados

Postado

Gente tenho o seguinte exercício com o que tenho dificuldades, eu fiz meu algoritmo mas acho que não esta bom o suficiente, segue... e obrigado pela ajuda:

Com base na figura 01, implemente um algoritmo que:

a) Armazenar os valores descritos na figura 01 na matriz A e matriz B

B) Some os valores da matriz A e da matriz B e armazene na matriz SOMA.

c) Concatene os valores da matriz A e matriz B e armazene na matriz CONCATENAR

d) Imprima na tela os valores armazenados na matriz CONTATENAR

image.jpg

Eu fiz o seguinte algoritmo... :confused:



início
Matriz_A [3][3] inteiro
Matriz_B [3][3] inteiro
Matriz_S [3][3] inteiro
Matriz_C [3][6] inteiro
LINHA,COLUNA: inteiro

para LINHA de 0 até 2 passo 1 faça
para COLUNA de 0 até 2 passo 1 faça
escreva “Entre com um número:”
leia Matriz_A [LINHA][COLUNA]
fim-para
fim-para

para LINHA de 0 até 2 passo 1 faça
para COLUNA de 0 até 2 passo 1 faça
escreva “Entre com um número:”
leia Matriz_B [LINHA][COLUNA]
fim-para
fim-para

Matriz_A[0][0] ← 5
Matriz_A[0][1] ← 7
Matriz_A[0][2] ← 8
Matriz_A[1][0] ← 4
Matriz_A[1][1] ← 5
Matriz_A[1][2] ← 6
Matriz_A[2][0] ← 5
Matriz_A[2][1] ← 7
Matriz_A[2][2] ← 7

Matriz_B[0][0] ← 1
Matriz_B[0][1] ← 5
Matriz_B[0][2] ← 7
Matriz_B[1][0] ← 2
Matriz_B[1][1] ← 4
Matriz_B[1][2] ← 6
Matriz_B[2][0] ← 6
Matriz_B[2][1] ← 7
Matriz_B[2][2] ← 8

Matriz_S[0][0] ← Matriz_A[0][0] + Matriz_B[0][0]
Matriz_S[0][1] ← Matriz_A[0][1] + Matriz_B[0][1]
Matriz_S[0][2] ← Matriz_A[0][2] + Matriz_B[0][2]
Matriz_S[1][0] ← Matriz_A[1][0] + Matriz_B[1][0]
Matriz_S[1][1] ← Matriz_A[1][1] + Matriz_B[1][1]
Matriz_S[1][2] ← Matriz_A[1][2] + Matriz_B[1][2]
Matriz_S[2][0] ← Matriz_A[2][0] + Matriz_B[2][0]
Matriz_S[2][1] ← Matriz_A[2][1] + Matriz_B[2][1]
Matriz_S[2][2] ← Matriz_A[2][2] + Matriz_B[2][2]

Matriz_C[0][0] ←Matriz_A[0][0]
Matriz_C[0][1] ←Matriz_A[0][1]
Matriz_C[0][2] ←Matriz_A[0][2]
Matriz_C[0][3] ←Matriz_B[0][0]
Matriz_C[0][4] ←Matriz_B[0][1]
Matriz_C[0][5] ←Matriz_B[0][2]
Matriz_C[1][0] ←Matriz_A[1][0]
Matriz_C[1][1] ←Matriz_A[1][1]
Matriz_C[1][2] ←Matriz_A[1][2]
Matriz_C[1][3] ←Matriz_B[1][0]
Matriz_C[1][4] ←Matriz_B[1][1]
Matriz_C[1][5] ←Matriz_B[1][2]
Matriz_C[2][0] ←Matriz_A[2][0]
Matriz_C[2][1] ←Matriz_A[2][1]
Matriz_C[2][2] ←Matriz_A[2][2]
Matriz_C[2][3] ←Matriz_B[2][0]
Matriz_C[2][4] ←Matriz_B[2][1]
Matriz_C[2][5] ←Matriz_B[2][2]

escreva “Matriz C”, Matriz_C[0][0]
escreva “Matriz C”, Matriz_C[0][1]
escreva “Matriz C”, Matriz_C[0][2]
escreva “Matriz C”, Matriz_C[0][3]
escreva “Matriz C”, Matriz_C[0][4]
escreva “Matriz C”, Matriz_C[0][5]
escreva “Matriz C”, Matriz_C[1][0]
escreva “Matriz C”, Matriz_C[1][1]
escreva “Matriz C”, Matriz_C[1][2]
escreva “Matriz C”, Matriz_C[1][3]
escreva “Matriz C”, Matriz_C[1][4]
escreva “Matriz C”, Matriz_C[1][5]
escreva “Matriz C”, Matriz_C[2][0]
escreva “Matriz C”, Matriz_C[2][1]
escreva “Matriz C”, Matriz_C[2][2]
escreva “Matriz C”, Matriz_C[2][3]
escreva “Matriz C”, Matriz_C[2][4]
escreva “Matriz C”, Matriz_C[2][5]
fim

Postado

Não precisa fazer leitura no seu algoritmo, caso faça isso está indo além da questão.

Seu algoritmo está muito extenso e ilegível, mesmo que não seja em nenhuma linguagem ou pseudo-linguagem você deve identar, pois se o código ficar muito grande como esse dificulta a leitura.

Obs: Utilize uma estrutura de repetição para imprimir matrizes(isso facilita a sua visualização).

Postado
Não precisa fazer leitura no seu algoritmo, caso faça isso está indo além da questão.

Seu algoritmo está muito extenso e ilegível, mesmo que não seja em nenhuma linguagem ou pseudo-linguagem você deve identar, pois se o código ficar muito grande como esse dificulta a leitura.

Obs: Utilize uma estrutura de repetição para imprimir matrizes(isso facilita a sua visualização).

Bom tentei e fiz modificações já que como você falou não precisava ler novamente os dados, só que não sei concatenar, ou pelo menos nunca me ensinaram como fazer isso com as matrizes :unsure: nem esta no livro ai tipo nem sei como seguir o laço de repetição me entende... Vou colocar o que fiz até agora, da uma olhada por favor?


início
Matriz_A [3][3] inteiro
Matriz_B [3][3] inteiro
Matriz_SOMA [3][3] inteiro
Matriz_CONCATENAR [3][6] inteiro
I,J: inteiro (i será o índice linha e j o índice coluna)


Matriz_A[0][0] ← 5
Matriz_A[0][1] ← 7
Matriz_A[0][2] ← 8
Matriz_A[1][0] ← 4
Matriz_A[1][1] ← 5
Matriz_A[1][2] ← 6
Matriz_A[2][0] ← 5
Matriz_A[2][1] ← 7
Matriz_A[2][2] ← 7

Matriz_B[0][0] ← 1
Matriz_B[0][1] ← 5
Matriz_B[0][2] ← 7
Matriz_B[1][0] ← 2
Matriz_B[1][1] ← 4
Matriz_B[1][2] ← 6
Matriz_B[2][0] ← 6
Matriz_B[2][1] ← 7
Matriz_B[2][2] ← 8

Para I de 0 até 2 faça
Para J de 0 até 2 faça
Leia Matriz_SOMA [I,J] <- Matriz_A[I,J] + Matriz_B [I,J]
Fimpara
Fimpara



Para I de 0 até 2 faça
Para J de 0 até 5 faça
(Aqui é onde não sei como seguir, como Concatenar? As Matrizes... *****)





fim

Postado

Olha lá em cima você concatenou certo...

Seus únicos erros foram quais eu apontei.

Obs: Você não pode mandar esse programar ler em nenhum momento

Obs2: Sua repetição é só para saída(Você tem que mandar escrever)

Obs3 e a mais importante: Ninguém vai lhe ensinar tudo, a maior parte das coisas que você tiver que aprender vai ter que procurar por fora.

Postado

você diz o primeiro de cima, ou o ultimo que postei??

No ultimo só coloquei o laço de repetição para somar as Matrizes A e B e colocar na Matriz Soma... Não concatene ainda eu acho :confused:

Sei que me faltam dois laços de repetição um para concatenar as Matrizes A e B criando a nova Matriz 3x6 CONCATENAR e depois mais um laço para imprimir (mostrar na tela) os valores dessa nova Matriz CONCATENAR...

Tipo estou muito confuso cara e travado já...

Nossa cara desculpa, mas eu acho que programar não será meu forte, ainda bem que Sistemas para Internet posso focar em design edição de imagens e tal.. hahahaha Mas agradeço muito a tua paciência comigo!

Alguém mais que possa me ajudar??? Tenho que entregar o trabalho amanhã...

Já elaborei o algoritmo até a soma das matrizes como podem ver abaixo, o professor nunca explicou como concatenar Matrizes, não achei nenhum exemplo que me ajudasse na internet, eu entendo o que significa concatenar, mas se nunca vi como implementar o processo num laço de repetição... Como vou poder resolve-lo??... Como posso saber fazer algo que nem sei da existência do mesmo? Preciso ajuda gente, não estou pedindo para fazer o exercício, de fato já esta quase terminado apenas é uma força...


// Função :
// Autor :
// Data : 15/11/2013
// Seção de Declarações
var
Matriz_A:vetor [0..2,0..2]de inteiro
Matriz_B:vetor [0..2,0..2]de inteiro
Matriz_SOMA:vetor [0..2,0..2]de inteiro
Matriz_CON:vetor [0..2,0..5]de inteiro
I,J: inteiro //i será o índice linha e j o índice coluna

inicio
// Seção de Comandos

Matriz_A[0,0] <- 5
Matriz_A[0,1] <- 7
Matriz_A[0,2] <- 8
Matriz_A[1,0] <- 4
Matriz_A[1,1] <- 5
Matriz_A[1,2] <- 6
Matriz_A[2,0] <- 5
Matriz_A[2,1] <- 7
Matriz_A[2,2] <- 7

Matriz_B[0,0] <- 1
Matriz_B[0,1] <- 5
Matriz_B[0,2] <- 7
Matriz_B[1,0] <- 2
Matriz_B[1,1] <- 4
Matriz_B[1,2] <- 6
Matriz_B[2,0] <- 6
Matriz_B[2,1] <- 7
Matriz_B[2,2] <- 8

Para I de 0 ATE 2 faca
Para J de 0 ATE 2 faca
Matriz_SOMA[I,J]<- Matriz_A[I,J]+Matriz_B[I,J]
Fimpara
Fimpara

Para I de 0 ATE 2 faca
Para J de 0 ATE 5 faca
Matriz_CON[I]<- Matriz_A[I,J]
fimpara
fimpara


fimalgoritmo

Postado
Agora só errou o concatenar, fora que tem que mandar imprimir o mesmo também!

Pois é, só me falta isso, mas nem sei como fazer essa parte, não tenho nem ideia de como colocar para concatenar...

Igualmente não esquenta, já desisti e enviei meu exercício como esta e expliquei o que aconteceu.. valeu


algoritmo "Matriz Figura 1"
// Função :
// Autor :
// Data : 15/11/2013
// Seção de Declarações
var
Matriz_A:vetor [0..2,0..2]de inteiro
Matriz_B:vetor [0..2,0..2]de inteiro
Matriz_SOMA:vetor [0..2,0..2]de inteiro
Matriz_CON:vetor [0..2,0..5]de inteiro
I,J: inteiro //i será o índice linha e j o índice coluna

inicio
// Seção de Comandos

Matriz_A[0,0] <- 5
Matriz_A[0,1] <- 7
Matriz_A[0,2] <- 8
Matriz_A[1,0] <- 4
Matriz_A[1,1] <- 5
Matriz_A[1,2] <- 6
Matriz_A[2,0] <- 5
Matriz_A[2,1] <- 7
Matriz_A[2,2] <- 7

Matriz_B[0,0] <- 1
Matriz_B[0,1] <- 5
Matriz_B[0,2] <- 7
Matriz_B[1,0] <- 2
Matriz_B[1,1] <- 4
Matriz_B[1,2] <- 6
Matriz_B[2,0] <- 6
Matriz_B[2,1] <- 7
Matriz_B[2,2] <- 8

Para I de 0 ATE 2 faca
Para J de 0 ATE 2 faca
Matriz_SOMA[I,J]<- Matriz_A[I,J]+Matriz_B[I,J]
Fimpara
Fimpara

Para I de 0 ATE 2 faca
Para J de 0 ATE 5 faca
Matriz_CON[I,J]<= Matriz_A[I,J],Matriz_B[I,J]
fimpara
fimpara
para I de 0 ate 2 faca
para I de 0 ate 5 faca
escreva (Matriz_CON[I,J]:4)
fimpara
escreval("")
fimpara



fimalgoritmo

Postado

Tudo bem. Se você desistiu fazer o que né?!

Obs: Algoritmo é assim mesmo rapaz, já passei muito tempo em frente a computador só para resolver alguns problemas. Várias pessoas já tentaram me desmotivar, e adivinhe o que fiz?! Persisti, por isso digo: Lute pelos teus objetivos e não desista guerreiro!!!!

Postado
Tudo bem. Se você desistiu fazer o que né?!

Obs: Algoritmo é assim mesmo rapaz, já passei muito tempo em frente a computador só para resolver alguns problemas. Várias pessoas já tentaram me desmotivar, e adivinhe o que fiz?! Persisti, por isso digo: Lute pelos teus objetivos e não desista guerreiro!!!!

Não vou desistir da matéria, só gostaria de ter aprendido a porcaria de concatenar ou de como se coloca na porcaria do código para saber mesmo, já que o trabalho já o enviei...

O conceito entendi perfeitamente, só não achei nada nem ninguém que falasse, olha essa coisa é assim, procurei na internet no youtube e nada...

Só isso...

Mas valeu podem fechar o post, mesmo sem solução, talvez o resto do algoritmo sirva para alguém

Postado

      Matriz_C[0][0] ←Matriz_A[0][0]
Matriz_C[0][1] ←Matriz_A[0][1]
Matriz_C[0][2] ←Matriz_A[0][2]
Matriz_C[0][3] ←Matriz_B[0][0]
Matriz_C[0][4] ←Matriz_B[0][1]
Matriz_C[0][5] ←Matriz_B[0][2]
Matriz_C[1][0] ←Matriz_A[1][0]
Matriz_C[1][1] ←Matriz_A[1][1]
Matriz_C[1][2] ←Matriz_A[1][2]
Matriz_C[1][3] ←Matriz_B[1][0]
Matriz_C[1][4] ←Matriz_B[1][1]
Matriz_C[1][5] ←Matriz_B[1][2]
Matriz_C[2][0] ←Matriz_A[2][0]
Matriz_C[2][1] ←Matriz_A[2][1]
Matriz_C[2][2] ←Matriz_A[2][2]
Matriz_C[2][3] ←Matriz_B[2][0]
Matriz_C[2][4] ←Matriz_B[2][1]
Matriz_C[2][5] ←Matriz_B[2][2]

Você concatenou assim!

Está certo, mas poderia diminuir e o seu erro fatal foi não ter mandado imprimir

, que era só fazer:

Para I de 0 ate 2 faca
Para I de 0 ate 5 faca
Escreva(Matriz_C[I,J])
Fimpara
Fimpara

Evitei de postar isso para não fugir das políticas do Clube do Hardware. É incorreto ficar postando respostas para soluções de imediato sem dar chances ao criador do tópico desenvolver as mesmas.

Postado

Sabe porque incorri nesse erro? Pela resposta que o professor tinha me dado anteriormente falando que tinha feito extenso de mais o algoritmo e até foi um pouco desestimulante no que falou, ao invés de me marcar apenas os pontos nos que estava errando... Eu achei que estava fazendo tudo errado, o cara em vez de me ensinar me atrapalhou... As vezes quem sabe não sabe passar seu conhecimento...

Olha como ele me orientou:

"- A concatenação e a escrita dos valores da matriz, tem de ser feito através de laços de repetição. Entenda que o uso de laço é pre-requisito e não existe

algoritmo profissional que não use laço sempre que houver uma oportunidade. Eu me pergunto como você resolveria a questão se as matrizes fossem da

ordem 10000 x 10000. Quanto dias você levaria para escrever a resposta? Pense nisso ao responder as questões e sempre pense que o laço foi feito para

que o desenvolvedor não perca tempo escrevendo comando repetitivos."

Ai eu nem tomei em conta o que tinha feito e refiz errado hahaha

Mas tudo bem, agora pelo que você me mostra não estava tão errado, só precisava de uns ajustes, e eu não entendia você porque ficou na minha cabeça o que o cara falou pra mim, mas agora é esperar a ver como vai avaliar o que fiz, não tenho boas esperanças hahaha

Agora uma pergunta: Não tem como não colocar essa quantidade enorme de comando e fazer eles por algum tipo de laço de repetição?? Tipo como o laço que utilizei para fazer a soma das Matrizes A e B e colocar na Matriz Soma??

Postado

Tem sim! Faço minhas palavras a de um dos participantes do fórum que não me lembro o nome: "'O maior desafio dos professores é ensinar ao aluno a desenvolver o raciocínio lógico".

Ao meu ver o pior erro dos professores é de serem duros de mais com os alunos, não sei porque fazem isso, mas ao invés de ajudar isso acaba desmotivando e atrapalhando a maioria. É por isso que temos péssimos profissionais que só por terem unicamente um bom raciocínio conseguem alavancar na área, passado uns dois ou três anos ele se vê fadado e cai na desilusão e vê que programação não

é um mero "jogo estilo puzzle", e por consequência disso se tornam péssimos profissionais.

Agora uma pergunta: Não tem como não colocar essa quantidade enorme de comando e fazer eles por algum tipo de laço de repetição?? Tipo como o laço que utilizei para fazer a soma das Matrizes A e B e colocar na Matriz Soma??

Se você fala isso referente a hora de concatenar tem sim!

Para I de 1 ate 3 faca
Para J de 1 to 3 faca //Primeira etapa
Matriz_C[I,J]<- Matriz_A[I,J] // Colocando os elementos de A para concatenar
Fimpara
Fimpara

Para I de 1 ate 3 faca
Para J de 4 to 6 faca // colunas de C //Segunda etapa
Matriz_C[I,J]<- Matriz_B[I,X] // Colocando os elementos de B para concatenar
X<- X+1 //Contador das colunas de B
Fimpara
Fimpara

Por fim, para imprimir é só usar:

Para I de 1ate 3 faca
Para I de 1 ate 6 faca
Escreva(Matriz_C[I,J])
Fimpara
Fimpara

Gostei do tópico!

Postado

Kurumin 7, Muito Obrigado, aprendi muito no tópico com você, foi uma troca muito maneira!!

Vle mesmo!

Agora sim, com o tópico solucionado pode se fechar o mesmo!

  • Moderador
Postado

Caso o autor necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!