Chaine de caractere

doublepointer Messages postés 16 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j' ai écris un programme qui consistait à:
Entrer deux chaines de caracteres ,le programme affichera la chaine qui est la plus grande dans ordre lexicographie.J'ai un probleme sur les conditions d arret je ne sait quoi ecrire en fait je ne sait pas quel condition prendre aidez moi s'il vous plait
si possible j'ai besoin des codes sources de chacun , peut-etre sa pourrait me donner une idee pour voir si un probleme de programmation peut etre resolu de plusieurs maniere.merci

3 réponses

  1. jee pee Messages postés 31888 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     
    Salut,

    Bah tu devrais commencer par nous donner ta solution ;-)

    Parce que ça à l'air simple :

    input a
    input b
    if a > b
    print a
    else print b


            Un étranger, c'est un ami qu'on n'a pas encore rencontré.
    1
  2. ellana29460 Messages postés 805 Statut Membre 181
     
    en c une chaîne de caractères se finit par le symbole '\o' (la lettre o), donc pour définir la taille de ta chaîne, tu dois faire une boucle un peu comme ca :

    while(caractereLu != '\o') {
      tailleDeLaChaine++;
      lireCrarctereSuivant(); // a toi d'adapter cette fonction si tu ne fais pas comme ca
      }
    
    0
    1. jee pee Messages postés 31888 Date d'inscription   Statut Modérateur Dernière intervention   9 981
       
      la chaine qui est la plus grande dans ordre lexicographie

      Pour moi cela ne fait pas référence à la longueur de la chaine ?
      0
    2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      en c une chaîne de caractères se finit par le symbole '\o' (la lettre o)
      Non. Cela se finit par '\0' (chiffre 0) !
      0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Par "plus grand par ordre lexicographique", j'imagine que tu veux dire, celui qui est situé après dans le dictionnaire ?

    Si oui, tu as la fonction strcmp(). Peux-tu l'utiliser ? Sinon, il suffit de comparer chacune des lettres des mots, et dès qu'un a une lettre située après, il est situé après dans le dictionnaire.

    Je te laisse coder la solution. N'hésite pas à poster ce que tu as compris si tu souhaites qu'on te corrige.

    Cdlt,
    0