Julio 28, 2010, 03:51:23 AM Ultima modificación: Agosto 03, 2010, 07:30:06 AM por soccer2008
bueno comunidad tengo el siguiente problema:

Quisiera ordenar de mayor a menor los siguientes puntajes de las suspuestas personas:

personas[0]="elisa";personas[1]="leo";personas[2]="soccer";personas[3]="lucas";

puntaje[0]=17; //este puntaje es de elisa
puntaje[1]=13; //este puntaje es de leo
puntaje[2]=20; //este puntaje es de soccer
puntaje[3]=11; //este puntaje es de lucas


y la lista ordenada deber?a quedar asi en el evento draw:

soccer 20
elisa  17
leo    13
lucas  11


si prefieren pueden editar mi archivo en gm, en un momento lo adjunto...

pondr? en los cr?ditos de mi juego a las personas q me ayuden con este problema, espero sus respuestas, muchas graciAS.
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

Cita de: soccer2008 en Julio 28, 2010, 03:51:23 AM
bueno comunidad tengo el siguiente problema:

Quisiera ordenar de mayor a menor los siguientes puntajes de las suspuestas personas:

personas[0]="elisa";personas[1]="leo";personas[2]="soccer";personas[3]="lucas";

puntaje[0]=17; //este puntaje es de elisa
puntaje[1]=13; //este puntaje es de leo
puntaje[2]=20; //este puntaje es de soccer
puntaje[3]=11; //este puntaje es de lucas


y la lista ordenada deber?a quedar asi en el evento draw:

soccer 20
elisa  17
leo    13
lucas  11


si prefieren pueden editar mi archivo en gm, en un momento lo adjunto...

pondr? en los cr?ditos de mi juego a las personas q me ayuden con este problema, espero sus respuestas, muchas graciAS.
me viera gustado ayudarte, creo q tenia algo parecido a esto pero el problema es q yo uso gm8 y tu gm5, demaciada diferencia, te recomiendo que actualizes tu version de gm

#2 Julio 28, 2010, 06:27:38 AM Ultima modificación: Julio 28, 2010, 03:55:25 PM por soccer2008
Citarme viera gustado ayudarte, creo q tenia algo parecido a esto pero el problema es q yo uso gm8 y tu gm5, demaciada diferencia, te recomiendo que actualizes tu version de gm

El ejemplo funciona en gm8 tbm, lo adjunto en gm8.

La verdad es q tengo la versi?n 5,6 y 8, pero este juego lo estoy haciendo en la versi?n 5 xq hay una funci?n muy importante en el juego que no funciona ni en la 8,7 y 6, es x eso que este juego lo estoy haciendo en el dicha versi?n, pero no hay problema, si me puedes ayudar con un ejemplo en otras versiones genial, m?s bien todo aporte es bienvenido, no te preocupes yo lo adapto a la versi?n gm5, gracias amigo, espero tu ayuda y la ayuda de la comunidad, gracias de antemano XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

probe el gmk, y cambie los valores y funciona perfecto, nose que quieres, quieres que nos e repita la misma variable? o qu si tiene dos puntajes la sume? porq el editable gmk hace justo lo que pides

#4 Julio 28, 2010, 07:35:26 PM Ultima modificación: Julio 28, 2010, 07:51:48 PM por soccer2008
si te das cuenta falla, ese c?digo s?lo funciona si los puntajes son diferentes, pero cuando algunos puntajes son iguales, omite algunos nombre o repite un nombre 2 veces...espero me ayudes, gracias XD XD XD


En el gmk muestra esto:

huess           19
maicero         16
soccer          15
soccer          15
pecoto          14
lucas           11
lucas           11

pero deber?a salir as?:

huess           19
maicero         16
elisa           15
soccer          15
pecoto          14
leo             11
lucas           11

Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

Cita de: soccer2008 en Julio 29, 2010, 12:50:58 AM
Habr? algui?n q me ayude?????????????

Me lo he bajado a ver si saco algo en claro para echar un cable con el c?digo.

Si consigo algo modifico este post.


Un saludo,
- Herni
(Acepto todo tipo de cr?ticas, ya que soy novato total, usando GM desde el 12 de Junio de 2010)
(Me ofrezco como voluntario para cualquier proyecto en el que pueda echar una manilla)
HerniHost (Dise?o Web, Hosting y Registro de Dominios)

muchas gracias x responder, esperar? tu ayuda, saludos ;) ;) ;)
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#7 Julio 29, 2010, 09:21:49 AM Ultima modificación: Julio 29, 2010, 09:59:55 AM por Xiven Corp
algo de info para ayudar, si obtengo la soluci?n te la adjunto

Citar?BubbleSort :


- Podemos apreciar que este algoritmo nunca intercambia registros con claves iguales. Por lo tanto es estable.

- Tambi?n vemos que s?lo requiere una variable adicional para realizar los intercambios, o sea, no requiere memoria adicional.

-Tambi?n apreciamos que funciona en base a comparaciones ( if (lista[j] > lista[j+1]) ).

- Vemos que el FOR interno se ejecuta N veces si es que la lista es de N elementos y el FOR de afuera tambi?n por lo que un FOR de N iteraciones dentro de otro de N iteraciones nos da un peor caso de
comparaciones por lo que el orden es O(
).


- El mejor caso, o sea si la lista ya est? ordenada toma una complejidad de O(n) ya que no entra al IF dentro del loop interno y se ahorra varias comparaciones.

- El caso promedio depende de cuan ordenados est?n los datos en la lista pero la mejora es m?nima , o sea ser?a algo as? como y sigue teniendo complejidad O().

mas info aqui: http://es.wikipedia.org/wiki/Ordenamiento_de_burbuja

el c?digo en c++ es facil, lo puedes realizar x cualquier metodo de ordenaci?n y para hacer lo que yo quiero se aplica estructura de datos, pero en el gm no se como hacer dichas estructuras  eso lo intent? hacer con 2 array diferentes...muchas gracias x tu intensi?n de ayudarme, saludos XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#9 Julio 29, 2010, 10:03:39 AM Ultima modificación: Julio 29, 2010, 10:18:07 AM por Xiven Corp
aqui esta como es en gml: http://wiki.yoyogames.com/index.php/Bubble_sort
pero no se como hacer un ejemplo. si logras entenderlo pasame o publica un editable , porque me interesa saber como queda!

EDIT: Lo he encontrado, espero qu este te sirva, debes editarlo para que te muestre el resultado que tu quieres ya que solo muestra el tiempo que demora creando en script, en mi pc fue de 53 segundo! tbm coloco una libreria de arryas que se que le puede servir de ayuda a ti como a otros que busquen algo como esto.

saludos y suerte en tu proyecto

Gracias amigo x la ayuda, aunque me faltar?a el puntaje x cada nombre :'(, muchas gracias de todas formas, ver? como puedo implementarlo, saludos XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

A?n no logro solucionarlo, algui?n puede ayudarme????, saludos XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#12 Agosto 02, 2010, 11:22:52 PM Ultima modificación: Agosto 03, 2010, 12:07:59 AM por cristalbeast
Pues creo que esto te sirve.

Vamos a usar un arreglo auxiliar para guardar las "posiciones" de los scores ordenadose de mayor a menor.

k=0
for(i=0;i<numscores;i+=1) //numscores es el n?mero de puntajes existentes
 {
 nummayor=0
 pos=0
 for(j=0;j<numscores;j+=1)
      {
      if(puntaje[j]>nummayor && puntaje[j]!=-1)
           {
           nummayor=puntaje[j]
           pos=j
           }
      }
 auxpuntaje[k]=nummayor
 auxpos[k]=pos
 puntaje[pos]=-1
 k+=1
 }

for(i=0;i<numscores;i+=1)
 {
 auxpersonas[i]=personas[i]
 }

for(i=0;i<numscores;i+=1)
 {
 puntaje[i]=auxpuntaje[i]
 personas[i]=auxpersona[auxpos[i]]
 }

Muchas gracias cristalbeast, era esto justo lo que necesitaba XD XD XD, excelente c?digo, te pondr? en los credits de mi juego y tbm Xiven Corp por el intento de ayudarme, igualmente a Herni, saludos a todos, gracias XD XD XD.


Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)