Le Tri de chaine de caractere sur C++

Fermé
pilou - 19 janv. 2009 à 23:42
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 20 janv. 2009 à 08:58
salut a tous ,


bon voila j'ai fait un tri de chaine de caractère selon leur longueur mais seulement avec 3 mot ,
La question est comment le faire avec un nombre inconnu de mot ?
par ex c'est l'utilisateur qui choisis combien de nom il tri .

voici le code de 3 tri sur CPP :


    int main(void)
{
  char Chaine1 [STR];
  char Chaine2 [STR]; 
  char Chaine3 [STR];
  long tableau [N_CHAINES];
  cin >> Chaine1;
  cin >> Chaine2;
  cin >> Chaine3;  

 // afectation du tableau par lé 3 nombre de chaine1 2 3 .
   tableau[0]= strlen(Chaine1);
   tableau[1]= strlen (Chaine2);
   tableau[2]= strlen (Chaine3);

   Tri_Bulle (tableau,3);
 
  // apél de la fonction qui tri les *char.
  Tri_CARACT (tableau,Chaine1,Chaine2,Chaine3);              
  system("PAUSE");
  return EXIT_SUCCESS;
}

// echanger pour le tri bulle

void Echanger(long tab[], long i, long j)
     {
     long memoire;
     memoire=tab[i];
     tab[i]=tab[j];
     tab[j]=memoire;
     }
     

void Tri_Bulle (long tableau[],long longueur)
{
long i=0 ;
bool inverser=0;
  
   do 
 {
 inverser =0;
 for (i=0;i<longueur-1;i++)
      {
    if (tableau[i]>tableau[i+1])
  {                          
  Echanger (tableau,i,i+1);
  inverser=1;    
 }      
}
  longueur--; 
}
while (inverser);
}       


//la fonction qui tri les caractère ici en compare et affiche les chaine .

void Tri_CARACT (long *tableau ,char *Chaine1,char *Chaine2,char *Chaine3) 
{
  for (int b=0;b<3;b++)
  {
  if (Compteur(Chaine1)==tableau [b])
  cout <<Chaine1<<endl;
  else if (Compteur (Chaine2)==tableau[b])
  cout <<Chaine2<<endl;
  else if (Compteur(Chaine3)==tableau[b])
  cout <<Chaine3<<endl; 
}
}
    






merci de votre aide .
A voir également:

1 réponse

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
20 janv. 2009 à 08:58
Pour ça, il faut voir du coté de la STL qui permet de faire des listes, de les trié etc.
https://en.cppreference.com/w/Main_Page
regarde en particulier maps et list.
0