Tri par valeur croissantes

nariman45 -  
 Utilisateur anonyme -
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.
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Utilisateur anonyme
     
    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