SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: pacorubio77 en Jueves 17 de Mayo de 2007, 17:22

Título: Me Podeis Dar La Idea
Publicado por: pacorubio77 en Jueves 17 de Mayo de 2007, 17:22
HOla,quería que me dierais la idea,si tengo una serie de palabras y tengo que ordenarlas alfabéticamente.cual sería la idea y como puedo saber si tengo una a y una b

como puedo expresar que la a es menor que la b???

Me podeís ayudar???
Título: Re: Me Podeis Dar La Idea
Publicado por: Eternal Idol en Jueves 17 de Mayo de 2007, 17:25
Código: Text
  1.  
  2. if ('a' > 'b')
  3. {
  4.   //imposible!!
  5. }
  6.  
  7.  

Usando un puntero podes comprobar facilmente entre mayusculas y mayusculas, y entre minusculas y minusculas, comproba la Tabla ASCII (http://www.asciitable.com/).

Tal vez puedas usar strcmp, fijate.
Título: Re: Me Podeis Dar La Idea
Publicado por: ElNapster en Jueves 17 de Mayo de 2007, 18:28
Ummmm no se podria hacer tambien por Ordenamientos (Burbuja, Quick Sort ... etc )

 :rolleyes:
Título: Re: Me Podeis Dar La Idea
Publicado por: pacorubio77 en Jueves 17 de Mayo de 2007, 18:34
Pero si yo estoy diciendo ordenar nombres,por ejemplo

María,Pedro,Lucas,Juan,Martin,,,el resultado sería

Juan,Lucas,María,Martín,Pedro,...eso digo yo....

Me podeís ayudar????
Título: Re: Me Podeis Dar La Idea
Publicado por: Eternal Idol en Jueves 17 de Mayo de 2007, 18:35
Cita de: "ElNapster"
Ummmm no se podria hacer tambien por Ordenamientos (Burbuja, Quick Sort ... etc )

 :rolleyes:
Si, pero para hacer el ordenamiento primero tenes que ser capaz de determinar cual palabra es "anterior" a la otra.
Título: Re: Me Podeis Dar La Idea
Publicado por: Eternal Idol en Jueves 17 de Mayo de 2007, 18:44
Cita de: "pacorubio77"
Pero si yo estoy diciendo ordenar nombres,por ejemplo
María,Pedro,Lucas,Juan,Martin,,,el resultado sería
Juan,Lucas,María,Martín,Pedro,...eso digo yo....
Me podeís ayudar????
Podes usar esto:

Código: Text
  1.  
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <locale.h>
  5.  
  6. void main()
  7. {
  8.   setlocale( LC_ALL, "Spanish" );
  9.   printf("%d\r\n", strcoll("María", "Martín"));
  10.   printf("%d\r\n", strcoll("María", "Carlos"));
  11.   printf("%d\r\n", strcoll("María", "María"));
  12.   printf("%d\r\n", strcoll("Carlos", "María"));
  13. }
  14.  
  15.  
Título: Re: Me Podeis Dar La Idea
Publicado por: pacorubio77 en Jueves 17 de Mayo de 2007, 18:48
hombre esa manera,,es un poco rara,y si no se los nombres que me encuentro...?

scroll en c++ se puede utilizar???

otra duda....
strcmp(a,B) te devuelve un 1 si la cadena a es mayor que la b(en longitud),verdad??

con esto me estoy haciendo un gran lio...no se como ordenar nombres ????
Título: Re: Me Podeis Dar La Idea
Publicado por: Eternal Idol en Jueves 17 de Mayo de 2007, 18:50
Cita de: "pacorubio77"
hombre esa manera,,es un poco rara,y si no se los nombres que me encuentro...?

scroll en c++ se puede utilizar???

otra duda....
strcmp(a,B) te devuelve un 1 si la cadena a es mayor que la b(en longitud),verdad??

con esto me estoy haciendo un gran lio...no se como ordenar nombres ????
¿Una manera rara? Eso es un ejemplo elemental, ya veras vos como hacerlo, lo unico que falta es que te haga el trabajo tambien.

¿scroll? strcoll es ANSI y te sirve para una cosa especifica que strcmp no y es el locale que establezco al empezar. Sino María es mayor que Martín ya que la í no existe en Ingles y es un valor ASCII superior a la t.

Y no, esta claro que no sabes como hacerlo, devuelve si es mayor o menor "lexicograficamente" hablando. ¿Probaste el ejemplo que te deje? Era para que entendieras todo eso ...
Título: Re: Me Podeis Dar La Idea
Publicado por: pacorubio77 en Jueves 17 de Mayo de 2007, 18:55
No,,,no te pongas como siempre:

"tu lo que quieres es que te lo hagan",,,frases muy utilizadas por ti...

No quiero que me lo hagas..pedi ideas...y si las ideas que presentan ustedes tengo dudas...pregunto...(que es lo que seguiré haciendo con las dudas) y como usted sabe más que yo...pues le pregunto...eso no quiere decir que yo quiera que usted me lo haga...no confunda...

con esto voy bien???

if ((strcmp(cadena, cadena[j])) > 0) {
               aux = cadena;
               cadena = cadena[j];
               cadena[j] = aux;
           }
Título: Re: Me Podeis Dar La Idea
Publicado por: Eternal Idol en Jueves 17 de Mayo de 2007, 18:58
Cita de: "pacorubio77"
No,,,no te pongas como siempre:

"tu lo que quieres es que te lo hagan",,,frases muy utilizadas por ti...
¿Frases muy utilizadas por mi? Que te ayude otro, yo ya te deje un codigo que ni probaste, segui con strcmp.
Título: Re: Me Podeis Dar La Idea
Publicado por: pacorubio77 en Jueves 17 de Mayo de 2007, 19:00
no puedo probar tu codigo en compiladro c++,,lo que me has puesto es c...me entiendes..?..y te he preguntado el uso de esa función.No creo que es para que te pongas asi..
Título: Re: Me Podeis Dar La Idea
Publicado por: Eternal Idol en Jueves 17 de Mayo de 2007, 19:03
Cita de: "pacorubio77"
no puedo probar tu codigo en compiladro c++,,lo que me has puesto es c...me entiendes..?..y te he preguntado el uso de esa función.No creo que es para que te pongas asi..
Ya te lo respondi, lee el hilo atentamente, si queres usar strcmp ADELANTE pero ya te dije la razon por la cual no deberias usarla y por lo tanto no pienso ayudarte a hacer las cosas mal.
Título: Re: Me Podeis Dar La Idea
Publicado por: pacorubio77 en Jueves 17 de Mayo de 2007, 19:04
Gracias