Création
d'entreprise
Posez votre question Signaler

Tri par insertion(PASCAL)

neno - Dernière réponse le 25 févr. 2011 à 22:59
Bonjour,
donc voila le problème j'ai un expose sur le tri par insertion et je veux savoir le principe de ce tri et l'explication de langage pascale de ce tri.
MERCI.
Lire la suite 

Tri par insertion(PASCAL) »

4 réponses
Réponse
+1
moins plus
+ LOGARITME MERCI
kaiser - 1 févr. 2010 à 18:20
je travaille sur le sujet en ce moment, dommage que t'es pas eu de réponse avant; ton exposé doit etre finit, pour ce que ca interresse voici le code avec un tableau de 10 valeurs:

program tri_par_insertion;

const
     N=10;
type
    ttab=array[1..N] of integer;
var
    cnt:integer;
    tab:ttab ;
    temp:integer;
    pos:integer;
function trouveouinserer(tab1:ttab;ideb,ifin,aval:integer):integer;
         var
                    cnt2:integer;
                    trouve:boolean;
         begin
              cnt2:=ideb;
              trouve:=false;
              repeat
                    if aval<tab1[cnt2] then

                            trouve:=true

                       else

                           cnt2:=cnt2+1;



              until((trouve) or (cnt2>ifin));
         trouveouinserer:=cnt2;
         end;

procedure decale(var tab2:ttab;ideb,ifin:integer);
          var
                cnt3:integer;
          begin
               for cnt3:=ifin downto ideb do
               begin
                    tab2[cnt3+1]:=tab2[cnt3];
               end ;
          end;
               
         
begin
     for cnt:=1 to N do
     begin
          writeln('numero ',cnt);
          read(tab[cnt])
     end;
     for cnt:=2 to N do
         begin
              temp:=tab[cnt];
              pos:=trouveouinserer(tab,1,cnt-1,temp);
              decale(tab,pos,N);
              tab[pos]:=temp;
         end;
     for cnt:=1 to N do
         begin
               writeln('numero ',cnt,' =',tab[cnt]);
               readln;
          end;
end.
Ditravo Noussayer - 25 févr. 2011 à 22:59
procédure tri-insertion (n:entier,var T:tab)

pour c de 2 à n faire
si t[c-1]>t[c] alors
Tmp <-- t[c]
Proc decaler (t,c-1,p)
t[p+1]<--Tmp
fin si
fin pour
fin tri-insertion
procedure decaler (vat t:tab,deb:entier,var fin:entier)

tanque (fin>=1)et (t[fin]<Tmp) faire
t[fin+1] <-- t[fin]
fin <-- fin-1
fin tant que
fin decaler

{VOILA LE L'ALGORITHME DU TRI-INSERTION }
SI VOUS VOULEZ DE L'AIDE CONTACTER MOI SUR MON E-MAIL

""""""""""""""""""""""""""" NOUNOU_KOBEJASON85@HOTMAIL.COM """""""""""""""""""""""""""""""""""
Ajouter un commentaire
Réponse
-3
moins plus
exercice pascal
Ajouter un commentaire
Ce document intitulé « tri par insertion(PASCAL) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?