Conectar-se
Quem está conectado
22 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 21 Visitantes

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 07/07/2015
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://www.gremioemfoco.info

Ordenar variavel em ordem decrescente

em Seg 24 Ago 2015, 22:53
Fala gurizada. Estou com uma duvida aqui em relação a como ordenar uma variavel (no meu caso uma matriz 2d) em ordem decrescente.

Preciso ordenar 100 valores que são atribuídos de forma não sequencial (exemplo variavel1=0, variavel2=8, variavel3=2, etc..)

Agradeço a quem puder ajudar. (y)
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 02/11/2011
Número de Mensagens : 103
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Ordenar variavel em ordem decrescente

em Sex 28 Ago 2015, 16:16
Boa tarde DJM,

Faz tempo que não mecho no Game Maker, não lembro se já existe um método pré-definido que faça esta ordenação. Mas você pode criar uma função que faça isso, acredito que o mais simples é o método de ordenação bolha, de uma pesquisada de como funciona que você vai conseguir reproduzir.

Aconselho você à criar um script que retorne a ordenação que você desejar, crescente ou decrescente. Basta passar por parâmetro(argument) qual tipo de ordenação executar e fazer retornar uma array. (Não lembro se é possível retornar array no Game Maker, desculpe se eu estiver errado).
Data de inscrição : 22/08/2015
Número de Mensagens : 11
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2
Ver perfil do usuário

Re: Ordenar variavel em ordem decrescente

em Sex 28 Ago 2015, 21:09
Se tiver dificuldade para implementar o bubble sort, pode usar um "trick" com ds_list.

Basta adicionar todos os valores que deseja ordenar em uma ds_list (em qualquer ordem, não importa) e então usar:

ds_list_sort(id,ascend) Sorts the values in the list. When ascend is true the values are sorted in ascending order, otherwise in descending order.

Depois basta "varrer" a ds_list com um for e recuperar sua array devidamente ordenada.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum