• Domingo 5 de Mayo de 2024, 01:35

Autor Tema:  problema con orden lexicografico  (Leído 2532 veces)

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
problema con orden lexicografico
« en: Sábado 8 de Noviembre de 2008, 17:45 »
0
Yo tengo un enunciado de un problema que me dice que debo seleccionar el medico con menor nombre y apellidos orden lexicografico,que quiere decir eso,?
yo tengo en el campo privador que nombreApellidos es string,como comparo los strings para sacar el orden lexicográfico?

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
Re: problema con orden lexicografico
« Respuesta #1 en: Sábado 8 de Noviembre de 2008, 18:23 »
0
Hola,me parece que tengo una dudilla sobre el mismo tema,si tengo el siguiente codigo;

Código: Text
  1. #include<string>
  2. #include<iostream>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. int main(){
  8.  
  9. string nombre1,nombre2;
  10.  
  11. cout<<"introduce nombre1 ";
  12. getline(cin,nombre1);
  13. cout<<"introduce nombre2 ";
  14. getline(cin,nombre2);
  15.  
  16. cout<<nombre1.length()<<endl;
  17. char nombre1car[nombre1.length()];
  18. char nombre2car[nombre2.length()];
  19. strcpy(nombre1car,nombre1.c_str());
  20. cout<<nombre1car<<endl;
  21. strcpy(nombre2car,nombre2.c_str());
  22.  
  23. cout<<strlen(nombre1car)<<endl;
  24.  
  25. int l=strcmp(nombre1car,nombre2car);
  26. if(l<0) cout<<"nombre1 es menor que nombre2"<<endl;
  27. else cout<<"nombre1 es mayor que nombre2"<<endl;
  28. }
  29.  
  30.  

sobre todo quiero saber que si la asignacion a la cadena de caracteres del tamaño lo estoy haciendo bien:
char nombre1car[nombre1.length()];
char nombre2car[nombre2.length()];

porque no me acuerdo si tengo que tener en cuenta el ,lo pregunto para no tener errores de segmentacion.

me podeis ayudar????

EL_UNI

  • Nuevo Miembro
  • *
  • Mensajes: 19
  • Nacionalidad: es
    • Ver Perfil
Re: problema con orden lexicografico
« Respuesta #2 en: Jueves 20 de Noviembre de 2008, 12:27 »
0
Citar
Código: C
  1.  
  2. char nombre1car[nombre1.length()];
  3. char nombre2car[nombre2.length()];
  4.  
  5.  

Esto lo tendrías que poner teníendo en cuenta el /0, ya que si no, supuestamente estas reservando menos memoria de la que ocupa la variable.
Programar es dejar fluir tu imaginación ^^ - EL_UNI