[RETO] CompWordsAlphabetically

Iniciado por Psyke1, 11 Marzo 2011, 10:44 AM

0 Miembros y 5 Visitantes están viendo este tema.

Karcrack

Cita de: Mr.Frog™ en 12 Marzo 2011, 14:51 PM
Tu función devuelve un resultado erróneo aquí:
   Debug.Print kCompare("feo", "    ")
Debería devolver la segunda y devuelve la primera... :rolleyes:
Ummm... En abecedario el [espacio] no esta incluido, asi que "feo" va antes que " feo"... >:D

Psyke1

Cita de: Karcrack en 12 Marzo 2011, 16:06 PM
Ummm... En abecedario el [espacio] no esta incluido, asi que "feo" va antes que " feo"... >:D
:xD
Tan sutil como siempre... :¬¬

Me temo que lógico sería:
1.-Signos y símbolos
2.-Números
3.-Letras

Además el vb me apoya, si hago esto:
Código (vb) [Seleccionar]

Private Sub Form_Load()
    With List1
        .AddItem "4paleto"
        .AddItem "paleto"
        .AddItem " paleto"
    End With
End Sub


Y pongo la propiedad Sorted en el List1 (para ordenar el contenido del mismo) este es el resultado:


Quizás quieras revisar tu función. :rolleyes:

DoEvents! :P

Karcrack


Psyke1

 :xD
Y QuickSort tambien ¿no? :¬¬
Código (vb) [Seleccionar]
Private Sub Form_Load()
Dim a() As String
Dim vItem
    a = Split("karcrack es un pesado 4ejemplo %ejemplo", " ")
    QuickSort a
   
    For Each vItem In a
        Debug.Print vItem
    Next
End Sub


Resultado:
%ejemplo
4ejemplo
es
karcrack
pesado
un


No insistas, todos los ejemplos (menos el tuyo :xD) lo ordenan así... :silbar:

DoEvents! :P

79137913

HOLA!!!

Mmm, lamentablemente en este caso creo que tiene que devolver error si comparas una palabra con una cadena de espacios, pero al comparar "palabra" con" palabra" tiene que devolver iguales, pero es necesario que tome en cuenta los espacios, ya que "hola como andas" va antes que "holacomoestas" no se si me entienden... Seria lo mas correcto.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Edu

Pero 7913, eso seria para otra cosa, esto es sobre palabras nomas xD y si usas el mio creo q anda ya para eso pero la idea es con palabras solamente.

Quien gano entonces? Frog haciendo trampa o Karcrack con errores? xD jajaj

Psyke1

Cita de: XXX-ZERO-XXX en 12 Marzo 2011, 18:36 PM
Pero 7913, eso seria para otra cosa, esto es sobre palabras nomas xD y si usas el mio creo q anda ya para eso pero la idea es con palabras solamente.

Quien gano entonces? Frog haciendo trampa o Karcrack con errores? xD jajaj
Yo no hice trampa en ningún momento. :¬¬
Yo soy el que planteó el reto, así que os tendréis que adaptar a las normas del mismo al igual que hago yo cuando participo en otro.
Cuando la función de Karcrack devuelva resultados "correctos" lo testearé.
Y después propondré la Parte 2 del reto...

DoEvents! :P

Karcrack

Pues entonces me da la sensación de que planteas mal el reto... Si lo que quieres es que las ordene siguiendo el orden de cada carácter en la Tabla Ascii esta mal planteado.
Tu pides alfabeticamente... Y el alfabeto no contempla el espacio... luego lógicamente debería ser situado después de todas las letras del alfabeto...
http://es.wikipedia.org/wiki/Alfabeto_latino

Aún así StrComp() compara según el Ascii Code... así que teóricamente mi función ha de seguir tus directrices...

Psyke1

Lo siento tienes razón, lo planteé mal entonces... :silbar:
Según la tabla ascii :)

DoEvents! :P

Edu

Bueno pero no te enojes Frog xD, hace los test q me interesa saber si mi codigo esta demasiadoo lento o q