Olá, tenho uma grande dúvida com array e manipulação de strings, queria entender bem como trabalhar com strings e arrays. Bom, eu quero fazer o seguinte: Ao receber um array de valores, eu quero pegar cada valor dentro desse array e comparar com os valores dele mesmo e depois de feito isso, colocar em ordem decrescente, exemplo:
[3, 2, 5, 1, 4]
A partir disso tenho que se o valor posterior for maior que o anterior, ele irá informar que os valores estão incorretos e não estão em ordem decrescente e pedirá se deseja que faça a organização em ordem decrescente, se o usuário informar que sim, ele irá reorganizar para:
[5, 4, 3, 2, 1]
Caso ele informe já essa ordem correta, o programa irá informar que a organização já está certa em ordem decrescente.
Como posso fazer isso?
Eu iniciei um programa para tentar analisar mas não deu certo e travei:
def verifica_ordem(lista)
for i in 0..lista.size
if (lista.last.to_i) > (lista[i - 1].to_i) || (lista.last) == nil
puts "A lista não está em ordem decrescente"
p lista.last
p lista[i]
p lista[i - 1]
exit
end
end
end
puts "Informe a ordem dos valores:"
#posicao = gets.strip
lista = [3, 2, 5, 1, 4]
verifica_ordem(lista)
Agradeço já a quem responder.