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!
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
Haddix
 
Merci fiddy, c'est cool!
0