Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2450 connectés 

 


Dernière réponse
Sujet : [Pascal] Tri fusion
BigBrother Merci de votre aide (:p), j'y suis arrivé. Le truc c'est que c'était la fusion des tableaux qui merdait, pourtant elle avait l'air correcte, et marchait pour les tests sur cette fonction seule. C'est les compteurs du 1er tableau et du tableau final qui étaient initialisé à 1 et non pas à la borne inferieure du morceau de tableau.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
BigBrother Merci de votre aide (:p), j'y suis arrivé. Le truc c'est que c'était la fusion des tableaux qui merdait, pourtant elle avait l'air correcte, et marchait pour les tests sur cette fonction seule. C'est les compteurs du 1er tableau et du tableau final qui étaient initialisé à 1 et non pas à la borne inferieure du morceau de tableau.
BigBrother Je ne perds pas espoir...J'ai fait des tests sur une centaine de tableau (!!) et j'y vois un peu plus clair: il y a une erreur lorsque le terme le plus élevé se trouve dans la 1ere partie du tableau (ie dans 2 premiers pour un tableau à 4, 3 premiers pour un tableau à 5), et l'erreur consiste en ce que le 1er terme de la 2eme partie du tableau se retrouve toujours à la fin du tableau (mal) trié, alors que tous les autres elements sont bien placés.
Ceci dit, je ne suis pas des masses plus avancé :??:
Si quelqu'un peut m'aider...
BigBrother oups :o
 
Alors c'est là que ça devient louche: si on entre un tableau déjà trié, il est rendu trié aussi. Mais par ex 5 4 3 1 donne 1 4 5  3
 
96 13 5 10->10 13 96 5
74 35 50 36->35 36 74 50
97 11 24 26->11 26 97 24
 
qq exemples...
darklord oui bin ca j'ai bien compris. Je te demande ce que trier [1,3,2,4] donne comme résultat.
BigBrother Le but est de trier un tableau d'entiers. Le principe est de faire une dichotomie du tableau jusqu'a obtenir des tableaux de 1 element. A ce niveau, on fusionne les tableaux 2 par 2 et on remonte jusqu'à obtenir le tableau initial trié. Je suis assez clair où il faut que je détaille ?
Le truc c'est que l'algo m'a l'air bon...mais il l'est pas :(
darklord c une dichotomie ton truc là. C'est quoi le résultat?
BigBrother J'ai un petit probleme sur cette procedure recursive. Ma procedure de fusion des tableaux est nickel, mais l'appel de tri doit merder car le tableau est pas trié correctement.
Voici la procedure d'appel de tri:
 
tab est le tableau, a et b en sont les bornes.
le premier appel est tri(tab,1,n) où n est la taille du tableau,entrée par l'utilisateur. Le tableau est rempli d'entiers aléatoires.

procedure tri(var tab:t_tab; a,b:integer);
          var med:integer;
begin
     med:=(a+b) div 2;
     if (med<>b) then
        begin
           tri(tab,a,med);
           tri(tab,med+1,b);
        end;      
 
     if a<b then
        fusiontab(tab,a,b);
end;

 
Vous pouvez pas me dire si vous voyez un tuc qui merde, parce que moi je sature là...?
 
(Oui, newbie inside, pas la peine de faire de remarque.)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)