hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, 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
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> (¯`·._.·[Devoirs et séries']·._.·´¯)
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
KARIMOS
Administrateur

Hors ligne

Inscrit le: 02 Nov 2008
Messages: 1 710
Masculin
Point(s): 5 479
Moyenne de points: 0

Posté le: Ven 26 Fév - 14:46 (2010)    Sujet du message: Tri par sélection Répondre en citant

PublicitéSupprimer les publicités ?
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
r.nsiri
recent membre
recent membre

Hors ligne

Inscrit le: 09 Jan 2009
Messages: 262
Masculin
Point(s): 304
Moyenne de points: 0

Posté le: Mer 24 Mar - 21:37 (2010)    Sujet du message: Tri par sélection Répondre en citant

Okay Okay Okay Okay Okay Okay Okay
_________________
Cordialement


 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 17:27 (2016)    Sujet du message: Tri par sélection

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> (¯`·._.·[Devoirs et séries']·._.·´¯) Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation