IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Tri à bulles d'un tableau


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Points : 44
    Points
    44
    Par défaut Tri à bulles d'un tableau
    salut,
    j'ai fait ce programme qui trie un tableau par ordre croissant
    exist-il des fauts ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    # include <stdio.h>
    # define N 50
    void main()
    {
    	int T[N],i,j,n,help;
    	do
    	{
    		printf("tapez le nombre d elements : ");
    		scanf("%d",&n);
    		if(n<=0 || n>=50)
    			printf("Re");
    	}while(n<=0 || n>=50);
    	for(i=0;i<n;i++)
    	{
    		printf("Donnez la valeur %d : ",i+1);
    		scanf("%d",&T[i]);
    	}
    	for(i=0;i<n;i++)
    	{
    		for(j=n-1;j>=i;j--)
    		{
    			if(T[j]<T[i])
    			{
    				help=T[i];
    			    T[i]=T[j];
    				T[j]=help;}
    		}
    	}
    	for(i=0;i<n;i++)
    	{
    		printf("la valeur %d est : %d\n",i+1,T[i]);
    	}
    }

  2. #2
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 327
    Points
    2 327
    Par défaut
    A premiere vue (et selon le titre) je dirais que tu fais un tri a bulle ... incomplet et maladroit.

    Je t'invite dans un premier temps a lire ce post ou j'explique le principe du tri a bulle.

    http://www.developpez.net/forums/d82...-exercice-tri/

    Dans un second temps, je t'invite a ne pas faire deux boucle imbriqué pour trier ton tableau, mais a appliquer ce qui est dans le lien.

  3. #3
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    @ SofEvans : Dans le lien que tu as donné tu expliques le fonctionnement du tri à bulle. Mais tu dis "je t'invite a ne pas faire deux boucle imbriqué pour trier ton tableau". Le truc c'est que dans le lien que tu as donné tu utilises aussi 2 boucles imbriquées ^^
    Bien que ce ne soit pas 2 boucles for, tu utilises une boucle do...while et une autre for. Cela fait bien 2 boucles imbriquées
    Plus tu pédales moins fort, moins t'avances plus vite.

  4. #4
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 327
    Points
    2 327
    Par défaut
    @pouet_forever.

    Je parlais de ses deux boucle for. J'ai juste oublier de dire que c'etait des boucle for. Cela ne change rien le fait que le lien repondra a sa question (normalement).

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    oui merci sofevans
    ce que je n'ai pa compris le programme a bien executé ou se trouve l'erreur donc

  6. #6
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 327
    Points
    2 327
    Par défaut
    Il n'y a pas d'erreur a proprement parler.

    Imaginons que tu est un tableau de dimension 100 et que comme par chance, il soit trié.
    Avec mon code, un seul passage suffit a determiner s'il est trié.
    Avec ton code, tu va faire une boucle for 100 fois.

    Ce qui me gene plus, c'est que tu fais partir ton deuxime for de la fin...

Discussions similaires

  1. Tableau à valeurs aléatoires et tri à bulles
    Par lewisdu76 dans le forum Débuter
    Réponses: 7
    Dernier message: 24/12/2012, 18h12
  2. affichage d'un tableau trié par tri à bulle
    Par bucabuca dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 15/07/2012, 16h52
  3. Affichage tableau trier par le tri à bulle
    Par luclapointe dans le forum C++
    Réponses: 2
    Dernier message: 11/07/2012, 21h13
  4. [DEBUTANT] Tri à bulle d'un tableau
    Par erigoal dans le forum C#
    Réponses: 8
    Dernier message: 08/01/2009, 15h07
  5. tri à bulle - pointeur - tableau
    Par babouoles dans le forum C
    Réponses: 9
    Dernier message: 03/01/2008, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo