Bonjour,
je veux faire un programme en langage pascal qui permet de trier un tableau
ce tri doit se faire en deux etapes la premiere de faire le tri des valeurs paires par insertion et les valeurs impaires restent dans leurs positions (on doit utiliser un seul tableau qui est le tableau initial) puis une deuxième étape tri par fusion qui permet de faire le tri du tableau entier ici on a le droit d\'utiliser un 2 tableau
svp aidez moi j\'ai passé une semaine et j\'ai pas réussi a le faire juste j\'ai fait ca mais il donne pas le tri par insertion dans tout les cas par exemple si les valeurs entrées 8 1 4 6 il ne marche pas
Program tri;
var n ,i,a,b,temp,j: integer;
Const k = 20000;
var T :array[1..k]of integer;
begin
writeln( \'rentrer la valeur de n \');
readln(n);
a:=1;
for i:=1 to n do
begin
writeln(\'entrer la\',i,\':\') ;
readln(T[i]);
end;
for i:=1 to n-1 do
begin
if T[i]<=T[i+1] then
inc(a);
end;
if (a=1)then
writeln (\'la série est triée dans un ordre décroissant\')else
if (a=n) then
writeln (\'la série est triée dans un ordre croissant\')else
writeln(\'la série est aléatoire\');
readln;
b:=1;
for i:=2 to n do
if odd(T[i])=false then
begin
temp:=T[i];
j:=i;
while j-b>=1 do
if odd(T[j-b])=true then
b:=b+1
else
begin
if T[j-b]>T[j] then
T[j]:=T[j-b];
T[j-b]:=temp;
j:=j-b;
b:=1;
end;
readln;
end;
writeln(\'les chiffres paires sont triés:\');
for i:=1 to n do
write(T[i],\' \');
readln;
Je pense que je répond un peut tard mais bon.. ça me semble réalisable avec un petit trie a bulle avec une sélection sur les individu a trier..
__________________________