hg Register Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet

Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index

hg Revision tunisie scolaire Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Search Search Memberlist Memberlist Usergroups Usergroups Profile Profile Log in to check your private messages Private Messages Log in Log in


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum révision tunisie , vous devez
 inscrire sur notre forum a partir d'ici
   NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
 
forum d'aide informatique : internet, réseau, programmation informatique ...
s v p corriger mon ex1 de la tri shell par principe recursiv
 
 
Post new topic   Reply to topic    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index -> Algorithmique & programmation -> Récursivité
hg Previous topic :: Next topic   hd
Author Message
myaset


Offline

Joined: 24 Jan 2009
Posts: 2
Masculin
Point(s): 19
Moyenne de points: 0

Posted: Mon 23 Nov - 19:20 (2009)    Post subject: s v p corriger mon ex1 de la tri shell par principe recursiv Reply with quote



:besmellah1:
bonjour

je fais  un programme qui remplir un tableau t par n entier et le trier par la méthode tri_shell par le principe de récursivité
mais elle sa marche mais je trouve quelque faute ne le conner svp
corriger cette programme



program younes;
uses wincrt;
type tab=array[1..100]of integer;
var t:tab;
    p,n:integer;
procedure saisie(var n:integer);
begin;
repeat
writeln('entrer le nombre de case:');
readln(n);
until n>2;
end;
procedure remplir(var t:tab;n:integer);
var i:integer;
 begin
 for i := 1 to n do
 begin
 writeln('entrer la case n°',i,'de tableau');
 readln (t[i]);
 end;
 end;
procedure tri_insertion(var t:tab;n:integer);
var i,p,aux :integer;
begin
for i:= 2 to n do;
begin
if t[i-1]<t[i] then begin
               aux:=t[i];
               p:= i-1;
                   while(t[p]<aux) and (p>=1) do
                   begin
                    t[p+1]:=t[p];
                    p:=p-1;
                    end;
                    t[p+1]:=aux;
                     end;
end;

 end;

procedure tri_shell_rec(var t:tab;var p:integer;n:integer);
var  i,x,j,aux:integer;
begin
if p=0 then tri_insertion(t,n)
  else begin
      x:=1;
      for i := 1 to p do
          begin
      x:=x+p;
      while(x<n) do
      begin
      aux:=t[x];
      j:=x-p;
      while(t[j]>aux) and (j>=i) do
      begin
      t[j+p]:=t[j];
      j:=j-p;
      end;
      t[j+p]:=aux;
      x:=x+p;
      end;
      end;
      p:=p div 3;
      tri_shell_rec(t,p,n);
      end;
         

end;
procedure affiche(t:tab; n:integer);
var i:integer;
begin
for i:= 1 to n do
begin
readln(t[i]);
end;
end;
begin;
saisie(n);
remplir(t,n);
p:=(n-1) div 3 ;
tri_shell_rec(t,n,p);
affiche(t,n);
end.




 
 


 
Revenir en haut
Publicité






Posted: Mon 23 Nov - 19:20 (2009)    Post subject: Publicité

PublicitéSupprimer les publicités ?
 
Revenir en haut
Display posts from previous:   
bg bd
Post new topic   Reply to topic    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index -> Algorithmique & programmation -> Récursivité All times are GMT + 1 Hour
 
Page 1 of 1

 
Jump to:  
Index | Make forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation