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

Langage Pascal Discussion :

Tri par classement


Sujet :

Langage Pascal

  1. #1
    Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Tri par classement
    Salut tout le monde !

    J'ai un exercice à faire, mais je n'ai pas pu trouver une solution. Le principe, c'est de chercher les éléments supérieurs à T[i] puis de mettre cet élements dans un autre tableau à la position k+1, avec k le nombre d'élément supérieur a T[i].

    Par exemple, un tabeau de 4 entiers :

    T: 14 | 77 | 3 | 98

    Pour T[1], qui est 14, il y a deux éléments supérieurs à 14, qui sont 77 et 98, donc : K= 2 et la position de T[1] dans le tableau R est k+1, par suite :

    R: _ | _ | 14 | _.

    Pour T[2], qui est 77, il y a juste un seul élément qui est supérieur, alors :

    R: _ | 77 | 3 | _

    Pour T[3], qui est 3, il y a 3 supérieur a lui méme, alors:

    R: _ | 77 | 14 | 3

    * Le problème est que je ne peux pas faire la comparaison de T[1] avec tous les autres éléments puis comparer T[2] aussi avec TOUS les éléments. Aidez-moi SVP¨.

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Si je comprends bien l'énoncé

    Si on suppose que toutes les valeurs sont différentes
    alors pour moi cela revient à classer ces éléments par ordre décroissant ?
    et l'algorithme final par exemple un simple tri à bulle

    tri_à_bulles(Tableau T)
    pour i allant de taille de T - 1 à 1
    pour j allant de 0 à i - 1
    si T[j+1] > T[j]
    échanger(T[j+1], T[j])
    et le résultat final serait T: 98 | 77 | 14 | 3 ...

    En effet peut importe la position de départ des éléments dans T
    ex si au départ : T: 98 | 77 | 14 | 3
    98 => 0 élément supérieur => place 0+1 => T[1]
    77 => 1 élément/s supérieur => place 1+1 => T[2]
    14 => 2 élément/s supérieur => place 2+1 => T[3]
    3 => 3 élément/s supérieur => place 3+1 => T[4]

    ex si au départ : T: 3 | 14 | 77 | 98
    3 => 3 élément/s supérieur => place 3+1 => T[4]
    14 => 2 élément/s supérieur => place 2+1 => T[3]
    77 => 1 élément/s supérieur => place 1+1 => T[2]
    98 => 0 élément supérieur => place 0+1 => T[1]

    etc ...
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Déja fait, merci quand méme.

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    program tri_p_classement;
    uses wincrt;
    TYPE
    tab= array [1..25] of integer;
    VAR
    T,R:tab; n,j:integer;
     
    procedure saisir (VAR n:integer);
    begin
    	repeat
    	writeln('donner la taille du tableau');
    	readln(n);
    	until (n in [3..25])
    end;
     
    procedure remplir(VAR t:tab; n:integer);  {procédure qui permet de remplir un tableau}
    var
    i:integer;
    begin
    	For i:= 1 to n do begin
    		writeln('donner l''element du case ',i);
    		readln(T[i]);
        end;
    end;
     
    function nbr_sup (T:tab; x,n:integer):integer;
    VAR
    occ,i:integer;
    Begin
    	occ:=0;
    	For i:= 1 to n do begin
    		If (T[i]>x) then occ:=occ+1;
        end;
        nbr_sup:=occ;
    end;
     
    procedure tri_class (VAR R:tab; T:tab; n:integer);
    VAR
    i,k:integer;
     
    Begin
    	k:=0;
    	For i:= 1 to n do begin
    		k:=nbr_sup (T,T[i],n);
    		R[k+1]:=T[i];
        end;
    end;
     
     
    procedure afficher (R:tab; n:integer);
    var
    i:integer; 
    begin
    	For i:= 1 to n do 
    	write('|',R[i]);
    end;
     
    begin
    	saisir(n);
    	remplir(T,n);
    tri_class(R,T,n);
     
    afficher(R,n);
     
     
     
    end.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction de tri par introspection
    Par ned-flanders dans le forum C++
    Réponses: 7
    Dernier message: 21/10/2004, 11h49
  2. [ XML ][ XSL ] tri par date
    Par zozolh2 dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/08/2004, 10h19
  3. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34
  4. Tri par ordre alphabétique
    Par orus8 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/04/2003, 19h27
  5. Tri par fusion d'un tableau
    Par Mailgifson dans le forum C
    Réponses: 5
    Dernier message: 12/12/2002, 14h53

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