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

Algorithmes et structures de données Discussion :

problème tri par sélection


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Points : 114
    Points
    114
    Par défaut problème tri par sélection
    Bonjour,

    Alors voila j'ai essayer de faire un tri par sélection et je ne comprend pas pourquoi il ne marche pas, pourtant quand je le déroule à la main sa marche:
    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
    tri_selection := proc(T::array(integer))::array(integer);
    > local max, i, tmp::integer;
    > while taille(T) <> 1 do
    >      max := 1;
    >      for i from 2 to taille(T) do
    >          if T[i] > T[max] then
    >             max := i;
    >          end if;
    >      end do;
    >      if max <> taille(T) then
    >         tmp := T[taille(T)];
    >         T[taille(T)] := T[max];
    >         T[max] := tmp;
    >      end if;
    >      taille(T) := taille(T)-1;
    > end do;
    > return eval(T);
    > end proc;
    Merci bien

  2. #2
    Expert éminent sénior

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Points : 13 312
    Points
    13 312
    Par défaut
    Voici un algorithme que je te conseil plutôt pour ce genre de tri:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    début
      pour i de 0 à taille(T)-2 faire
           min := i;
           pour k de i+1 à taille(T) faire
                si T[k] < T[min] alors
                   min := k;
                fin si
           fin pour
           tmp := T[i];
           T[i] := T[min];
           T[min] := tmp;
      fin pour
    renvoyer T;
    fin
    Vous pouvez aller voir mes tutos et mes critiques: ici
    Ainsi que mon: blog

    Je ne répondrai à aucune question technique par MP les forums sont présents pour ça

    c'est très intelligent un ordinateur: "Keyboard ERROR. No keyboard Connected. Press any key to continue..."

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    c'est plutôt bizarre de faire varier la taille d'un tableau alors que l'on travaille avec tous ses éléments :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taille(T) := taille(T)-1;
    Je ne sais pas comment tu as codé tout ça, mais faire diminuer la taille du tableau ne te fait il pas perdre des éléments lors de l'affichage ?

    Sinon, utilise plutôt l'algo qui vient de t'être donné...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

Discussions similaires

  1. Réponses: 54
    Dernier message: 09/03/2013, 15h27
  2. Tri par sélection du minimum récursif
    Par thechieuse dans le forum Pascal
    Réponses: 2
    Dernier message: 05/11/2008, 16h03
  3. problème tri par ordre alphabétique
    Par bibi 8002 dans le forum Word
    Réponses: 17
    Dernier message: 18/06/2008, 15h21
  4. Améliorer tri par sélection
    Par katrena99 dans le forum Pascal
    Réponses: 8
    Dernier message: 05/03/2007, 15h30
  5. Problême tri par ardre croissant
    Par vince86000 dans le forum ASP
    Réponses: 2
    Dernier message: 28/04/2005, 13h10

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