Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. typedef vector<string> tab;
  8.  
  9. void minuscule(tab& x);
  10. void affiche(tab x);
  11. void tri_alphabetique(tab& x);
  12.  
  13.  
  14. int main()
  15. {
  16.     tab banana;
  17.     banana.push_back("Michel");
  18.     banana.push_back("Jacky");
  19.     banana.push_back("Adeline");
  20.     banana.push_back("MARIUS");
  21.     minuscule(banana);
  22.     tri_alphabetique(banana);
  23.     affiche(banana);
  24.     return 0;
  25. }
  26.  
  27. void tri_alphabetique(tab& x)
  28. {
  29.     bool ok(false);
  30.     int z(0);
  31.     string tampon;//permet de classer les mot par ordre alphabetique mais celement de la première lettre
  32.     do
  33.     {
  34.         ok=false;
  35.         for(size_t i(0); i<x.size()-1; i++)
  36.         {
  37.             if(x[i][0]>x[i+1][0])
  38.             {
  39.                 tampon=x[i];
  40.                 x[i]=x[i+1];
  41.                 x[i+1]=tampon;
  42.                 ok=true;
  43.             }
  44.  
  45.         }
  46.     }
  47.     while(ok);
  48.  
  49.     do//refait la même chose qu'au desus
  50.     {
  51.         ok=false;
  52.         for(size_t i(0); i<x.size()-1; i++)
  53.         {
  54.             if(x[i][z]==x[i+1][z])//si il y a 2 mot avec la meme première lettre il vas tester la 2ème lettre après et si elle sont identique il vas encore ésayller jusqu'a trouver unelettre avant l'autre
  55.             {
  56.                 ok=true;
  57.                 z++;
  58.                 if(x[i][z]>x[i+1][z])
  59.                 {
  60.                     tampon=x[i];
  61.                     x[i]=x[i+1];
  62.                     x[i+1]=tampon;
  63.  
  64.                 }
  65.             }
  66.         }
  67.  
  68.     }while(ok);
  69. }
  70.  
  71.  
  72. void minuscule(tab& x) //passe toute les lettres en minuscule
  73. {
  74.     for(size_t j(0); j<x.size(); j++)
  75.     {
  76.         for(size_t i(0); i<x[j].size(); i++)
  77.         {
  78.             if(x[j][i]>='A' and x[j][i]<='Z')
  79.             {
  80.                 x[j][i]=x[j][i]+32;
  81.             }
  82.  
  83.         }
  84.     }
  85. }
  86.  
  87. void affiche(tab x)
  88. {
  89.     for(size_t j(0); j<x.size(); j++)
  90.     {
  91.         cout<<x[j]<<endl;
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement