Tri par valeur croissantes

Fermé
nariman45 - 4 déc. 2008 à 11:51
 Utilisateur anonyme - 4 déc. 2008 à 15:35
Bonjour,
svp quelqu'un m'aide pour realiser ce program
realiser le programpasca de tri par valeur croissantes d'un tableau d'entiers de dimension n comme suit :
-en cherche le plus petit element du tableau (1..n)puis à l'echanger avec le premier element
-puis à chercher le 2 eme plus petit element du tableau (2..n)et à l'echanger avec le seconde element du tableau (1..n) .
-ainssi de suite . on selectionne le ieme plus petit element du tableau (i..n) et on le rang à la iéme place du tableau(1..n) jusqu'a ce que le tableau soit trié (le dernier est alors le plus grand ) .
ce program doit contenir les sous programmes suivants :
-un sous programme pour la lecture du tableau .
-un sous programme pour l'affichage du tableau .
-un sous programme pour chercher l'element le plus petit dans un tableau.
-un sous programme pour le tri du tableau .
NB : le programme doit afficher tout les resultats intermidiaires ;càd les valeurs du tableau apres chaque echange de 2 elements.

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
4 déc. 2008 à 12:19
0
Utilisateur anonyme
4 déc. 2008 à 15:35
voila un programme:

program tri;
const n=10;
type tab=array[1..n]of integer;
var i,j:integer;
minim:integer;
procedure tri(t:tab);
var k,c:integer;
begin
for(i:=1 to n-1) do
begin
for (j:=i+1 to n ) do
begin
if t[i]>t[j] then
begin
c:=t[i];
t[i]:=t[j];
t[j]:=c;
end;
end;
end;
for k:=1 to n do
writeln(t[k]); /*pour afficher a chaque changement*/
end;

procedure lecture(t:tab)
begin
for i:=1 to n do
begin
writeln('donnez le nbr');
readln(t[i]);
end;
end;

procedure affiche(t:tab)
begin
for i:=1 to n do
writeln('nbr n',i,'est',t[i]);
end;

procedure plu_petit(t:tab;min:integer)
var min:integer;
begin
min:=t[1];
for i:=2 to n do
begin
if t[i] < min then
min:=t[i];
end;

begin /*prog principale*/
lecture(tabl);
tri(tabl);
affiche(tabl);
plu_petit(tabl,minim)
end.

bonne chance!! mais essai d'inserer des messages pour qu'il soit bien structuré
salut

0