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.
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
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
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
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
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
muchas gracias x responder, esperar? tu ayuda, saludos ;) ;) ;)
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
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
A?n no logro solucionarlo, algui?n puede ayudarme????, saludos XD XD XD
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.