Exercício de vetores
Boa tarde pessoal,
Estou tendo dificuldades com o seguinte exercício sobre vetores:
>
Citar
Desenvolva um algoritmo que leia um vetor de 30 posições de inteiros. Depois da leitura
localize o menor elemento do vetor e troque de posição com o primeiro elemento. Também
localize o maior elemento e troque de posição com o último elemento.
algoritmo "satanás"
var
v : vetor[1..30] de inteiro
i, j, menor, maior, tmp : inteiro
inicio
para i de 1 ate 5 faca
leia(v)
se(i = 1) entao
maior := v[1]
fimse
* se ((i = 2) e (v** > maior)) entao*
menor := v[1]
maior := v[2]
senao
* se ((i = 2) e (v** < maior)) entao*
menor := v[2]
fimse
fimse
* se ((i <> 1) e (i <> 2) e (v** > maior)) entao*
maior := v
senao
* se ((i <> 1) e (i <> 2) e (v** < menor)) entao*
menor := v
fimse
fimse
fimpara
tmp := v[1]
v[1] := menor
menor := tmp
v[5] := tmp
maior := tmp
para i de 1 ate 5 faca
* escreva(v**)*
fimpara
fimalgoritmo
Eu consegui fazer a troca do 1º número pela posição do menor e do último pela posição do maior, mas o menor não vai para a primeira posição e do maior pelo último.
Por exemplo: o usuário informa 5 números: 5, 2, 3, 1, 4
A troca acontece: 1, 2, 3, 1, 5
Observe que foi o 1 foi pra posição do 5, mas o 5 não foi para a posição do 1, do mesmo jeito que o 5 foi para a última posição, mas o número da última posição não foi para o lugar do 5. :(
Obrigado desde já.
Discussão (0)
Carregando comentários...