I’ll try to summarize:
- fill the vector;
- for each vector position. If the number is even. Displays the number at its position.
About:
Recognize the pair, but only 1 of them. What can I do? Thank you
It is that you are trying to "save" the results... but you would need to assimilate that a variable only stores one value, that is: every new pair, you are updating the same variable, so it will only keep the last value assigned. Another point is that the position you look for is the position in the vector, but you’re kind of trying to count the number of pairs... are different things.
The position of the number would be in the variable contador
same. Examples:
Sweeping the vector itself
algoritmo "10 números pares e as suas posições"
var
numeros: vetor[1..10] de inteiro
contador, contPar, par: inteiro
inicio
contador <- 0
contPar <- 0
escreval("Informe 10 números inteiros")
ALEATORIO 1, 100
para contador de 1 ate 10 faca
escreva (contador:2, "º número: ")
leia(numeros[contador])
fimPara
ALEATORIO OFF
escreval()
escreval("Relação de números pares")
escreval()
escreval("Numero - Posição")
escreval("------------------")
para contador de 1 ate 10 faca
se numeros[contador] % 2 = 0 entao
escreval(numeros[contador]:4, contador:11)
fimSe
fimPara
fimAlgoritmo
Storing the data in other vectors
algoritmo "10 números pares e as suas posições"
var
numeros: vetor[1..10] de inteiro
pares, posicoes: vetor[1..10] de inteiro
contPares, i: inteiro
contador, contPar, par: inteiro
inicio
contador <- 0
contPar <- 0
escreval("Informe 10 números inteiros")
ALEATORIO 1, 100
para contador de 1 ate 10 faca
escreva (contador:2, "º número: ")
leia(numeros[contador])
fimPara
ALEATORIO OFF
escreval()
escreval("Relação de números pares")
escreval()
escreval("Numero - Posição")
escreval("------------------")
contPares <- 0
para contador de 1 ate 10 faca
se numeros[contador] % 2 = 0 entao //se for par
contPares <- contPares + 1 //atualiza o contador de pares
pares[contPares] <- numeros[contador] //armazena o par
posicoes[contPares] <- contador //armazena a posição desse par
fimSe
fimPara
para i de 1 ate contPares faca
escreval(pares[i]:4, posicoes[i]:11)
fimPara
fimAlgoritmo
Note: the result is exactly the same as the previous one, so I will not post another image.
Another interesting way would be using a record combining with a vector, thus, it would be possible to "group" the information of the value of the even number with its respective position in the initial vector.
– Simon Viegas