0

ajuda na parte de programação (matriz)

R
Rafael Peres
galera, alguém poderia me dar um help, estou tendo dificuldade de realizar um exercício de programação simples envolvendo matriz

funcao inicio()

{

cadeia informacao[3][3] = {{"joão","são paulo","(11)99995241"},{"maria","ribeirão preto","(16)99998596"},{"ana","manaus","(92)99998574"}}

inteiro numero = 0

faca

   escreva("nome do usuário: " + informacao[numero, 0 ,0] + " sua cidade: " + informacao[numero , 1,0] + " e o número de telefone: " + informacao[numero,0,2] + "\n")

    numero++

     

} enquanto(numero<=3)

}

}


0
6

Comentários (4)

1
William silva

William silva

27/06/2021 16:05

Irei apontar os erros em seu código e explicar.



faca

/*

Você está lidando com uma matriz é elas são parecidas com tabelas tem linhas e colunas, isso quer dizer que para você acessar as informações dela você deve passar informações[linha][coluna] da informação que você deseja.

*/

   escreva("nome do usuário: " + informacao[numero] [0] + " sua cidade: " + informacao[numero] [1]+ " e o número de telefone: " + informacao[numero] [2] + "\n")

   numero++

    

/*

Aqui como você tem apenas 3 linhas e 3 colunas na matriz você deve passar um valor que não ultrapasse essa quantidade de informações lembrando que em vetores e matrizes sua contagem começa do 0, sendo assim de 0 a 2 você irá ter 3 índices dessa forma: 0, 1 e 2.

O correto seria <3 ou <=2 para que não desse erro em seu laço de repetição.

*/

} enquanto(numero<=2)

1
Jean Viana

Jean Viana

27/06/2021 15:55

Rafael ao declarar a matriz não é necessário colocar o numero de linhas e colulas pode deixar em branco

de cadeia informacao[3][3] para cadeia informacao[ ][ ] se vc deixar em branco vc não fica amarrado a um numero fixo se linhas e colunas. O erro que vc cometeu no entanto foi no final } enquanto(numero<=3) lembre que a matriz começa no elemento 0 então a contagem seria 0,1,2 como o elemento começa em 0 ele já via printar a primeira linha da matriz ao finalizar com <=2 ele vai buscar o ultimo elemento (elemento 2 da matriz) e printar o valor. No caso como vc colocou <=3 ele vai buscar o elemento 3 na sua matriz uma linha inexistente. As correções possiveis seriam <=2 ou <3 em enquanto(numero<=3). A matriz quando vc deixa cadeia informacao[ ][ ] assume os valores que vc digitar. Não sei se é erro ao colar o texto mas toma cuidado também com a identação ( da uma lida no assunto).

3
Guilherme Guidolin

Guilherme Guidolin

27/06/2021 15:26

Boa tarde Rafael, tudo bem?

Acontece que tu está trabalhando com uma matriz que tem duas dimensões e tu está acessando as informações da forma errada.


tua matriz vista seria assim ó

[
  ["joão","são paulo","(11)99995241"]
  ["maria","ribeirão preto","(16)99998596"]
  ["ana","manaus","(92)99998574"]
]


Então na hora de acessar a informação o primeiro [] de informacao[] vai ser o das linhas, que vai iterar entre as 3 pessoas e o segundo [] vai ser o dos valores de cada um.


Corrigi teu código, dê uma olhada e veja se entendeu.

programa {
	funcao inicio() {
		cadeia informacao[3][3] = {{"joão","são paulo","(11)99995241"},{"maria","ribeirão preto","(16)99998596"},{"ana","manaus","(92)99998574"}}
		inteiro numero = 0
		
		faca {
		  escreva("nome do usuário: " + informacao[numero][0] + " sua cidade: " + informacao[numero][01] + " e o número de telefone: " + informacao[numero][2] + "\n")
		  numero++
		} enquanto (numero < 3)
	}
}
4
Jessica Batista

Jessica Batista

27/06/2021 15:25

Rafael, tudo bom? Olhando rápido aqui, o que eu consegui identificar foi em "cadeia informacao[3][3]" esses colchetes tem que estar vazios assim: [][]. E a sua identificação de matrizes está errada. São 3 informações, então o contador (numero) só vai até o 2. Neste caso é de 0 a 2. Vou colar aqui o meu código pra você usar como referência.



programa

{


funcao inicio()

{

inteiro contador = 0

cadeia informacoes[][]={{"João","São Paulo","(11)9999-5241"},{"Maria","Ribeirão Preto","(16)9999-8596"},{"Ana","Manaus","(92)9999-8574"}}



faca{


escreva("Nome: " + informacoes[contador][0] + " Cidade: " + informacoes[contador][1] + "Telefone: " + informacoes[contador][2] + "\n")

contador++


}enquanto (contador<=2)

}

}

None

Brasil