Valeurs croissantes dans un tableau

Haddix -  
 Haddix -
Bonjour,

Je suis en train de faire un petit programme en C avec des tableaux. J'initialise mon tableau avec des valeurs aléatoires, je l'affiche, et ensuite je voudrai modifier mon programme avec des boucles pour que ça me retourne les mêmes valeurs que l'ancien tableau, mais cette fois-ci dans l'ordre croissant. Comment faire?

J'ai essayé avec des boucles for, des if, mais ça marche tjs pas.

Merci de votre aide!
Configuration: Windows Vista
Internet Explorer 7.0

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Poste déjà le code que tu as fait.
    Si t'y arrives pas, tu peux décrire l'algo si tu veux.
    Si tu sais pas, tu peux voir du côté du tri à bulles ou tri sélectif sur google ou encore tri rapide.
    Cdlt
    0
    1. Haddix
       
      #include <iostream>
      #include <time.h>
      #include <stdlib.h>

      using namespace std;

      int main(int argc, char ** argv)
      {

      const int nb=10;
      int T[nb];
      srand(time(0));

      for(int i=0;i<nb;i++){ // Code qui initialise le tableau avec des valeurs aléatoires
      T[i]=rand()%10+1;}

      for(int i=0;i<nb;i++){//Code qui affiche
      cout<<"T["<<i<<"]"<<" = "<<T[i]<<endl;}

      cout<<"Apres modification :"<<endl;


      for(int i=0;i<nb;i++){//code qui soi-disant modifie
      do{
      if(T[i+1]<T[i]){
      int a = T[i];
      T[i]=T[i+1];
      T[i+1]=a;}}
      while(T[i+1]<T[i]);}


      for(int i=0;i<nb;i++){ //Code qui affiche le nouveau tableau
      cout<<"T["<<i<<"]"<<" = "<<T[i]<<endl;}


      return 0;
      }
      0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Ton algorithme n'est pas bon.
    Je te montre une implémentation du trie à bulle.
    #include <iostream>
    #include <time.h>
    
    using namespace std;
    
    int main(int argc, char ** argv)
    {
    
        const int nb=10;
        int T[nb];
        srand(time(0));
    
        for(int i=0;i<nb;i++){ // Code qui initialise le tableau avec des valeurs aléatoires
            T[i]=rand()%10+1;}
    
        for(int i=0;i<nb;i++){//Code qui affiche
            cout<<"T["<<i<<"]"<<" = "<<T[i]<<endl;}
    
        cout<<"Apres modification :"<<endl;
    
        int tmp;
        bool enCours=false;
        for(int i=0;i<nb && !enCours;i++){//code qui soi-disant modifie
            enCours=true;
            for(int j=1;j<nb-i;j++){
                if(T[j]<T[j-1]){
                    tmp = T[j-1];
                    T[j-1]=T[j];
                    T[j]=tmp;
                    enCours=false;
                }
            }
        }
    
    
                    for(int i=0;i<nb;i++){ //Code qui affiche le nouveau tableau
                        cout<<"T["<<i<<"]"<<" = "<<T[i]<<endl;}
    
    
                    return 0;
    }
                                                                                                                                               23,19        Tout
    
    
    

    Cdlt
    0
    1. Haddix
       
      Merci fiddy, c'est cool!
      0