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 ...
Tri par sélection
 
 
Post new topic   Reply to topic    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index -> Algorithmique & programmation -> (¯`·._.·[Devoirs et séries']·._.·´¯)
hg Previous topic :: Next topic   hd
Author Message
KARIMOS
Administrateur

Offline

Joined: 02 Nov 2008
Posts: 711
Masculin
Point(s): 4,448
Moyenne de points: 0

Posted: Fri 26 Feb - 14:46 (2010)    Post subject: Tri par sélection Reply with quote

Ecrire un programme pascal qui permet de remplir un tableau t au hasard et de trier ce tableau par la méthode de tri par sélection puis de l'afficher.

correction
Code:

program tri_selection;
uses wincrt;
const n=10;
type tab=array[1..n] of integer;
var t:tab;
 
 
{----------------------------------------}
 
procedure PROC_remplir(var t:tab);
var i:integer;
 
begin
randomize;
for i:=1 to n do
begin
    t[i]:=random(50);
end;
end;
 
{----------------------------------------}
 
procedure PROC_afficher(t:tab);
var i:integer;
 
begin
for i:=1 to n do
 write('  ',t[i],'  ');
end;
 
{----------------------------------------}
 
function FN_pos_min(t:tab; x,y:integer):integer;
var min,pos_min,i:integer;
begin
min:=t[x];
pos_min:=x;
for i:=x+1 to y do
begin
     if (t[i]<min)
     then
         begin
         min:=t[i];
         pos_min:=i;
         end;
end;
FN_pos_min:=pos_min;
end;
 
{----------------------------------------}
 
procedure PROC_permute(var t:tab; x,y:integer);
var z:integer;
 
begin
z:=t[x];
t[x]:=t[y];
t[y]:=z;
end;
 
{----------------------------------------}
 
procedure PROC_tri(var t:tab);
var i:integer;
 
begin
for i:=1 to n-1 do
begin
     PROC_permute(t,i,FN_pos_min(t,i,n));
end;
end;
 
{----------------------------------------}
 
BEGIN
 
PROC_remplir(t);
PROC_afficher(t);
PROC_tri(t);
writeln;
PROC_afficher(t);
 
END.
 
 
{randomize est une procédure permettant d'initialiser la fonction random}
{random est une fonction qui retourne au hasard un nombre entier compris entre 0 et N, N est le paramètre dans notre cas N = 50}


 
Revenir en haut
Publicité






Posted: Fri 26 Feb - 14:46 (2010)    Post subject: Publicité

PublicitéSupprimer les publicités ?
 
Revenir en haut
r.nsiri
recent membre
recent membre

Offline

Joined: 09 Jan 2009
Posts: 231
Masculin
Point(s): 273
Moyenne de points: 0

Posted: Wed 24 Mar - 21:37 (2010)    Post subject: Tri par sélection Reply with quote

Okay Okay Okay Okay Okay Okay Okay
_________________
Cordialement


 
Revenir en haut
Contenu Sponsorisé






Posted: Today at 15:11 (2019)    Post subject: Tri par sélection

 
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 -> (¯`·._.·[Devoirs et séries']·._.·´¯) All times are GMT + 1 Hour
 
Page 1 of 1

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