bon, personne n'a répondu du coup...
j'avoue que j'ai un peu la flemme aussi... alors, j'vais juste de donner les outils pour mieux comprendre l'algo : suis l'algo en donnant des valeurs à tes variables... (hem. smal dit tt ça... bon, c encore plus chiant à expliquer comment comprendre
))) lol
bon, j'vais essayer :
FOR k:=1 TO N DO {remplissage du tableau}
A[k]:=RANDOM(50);
bon, apparement, ton tableau A est indexé de 1 à N (ok ?)
donc, si on essaye A[0] => ça correspond pas à une valeure que t'as inséré (ou ça plante (ArrayOutOfBound))
et là, regardes bien ce morceau :
FOR k:=2 TO N DO
BEGIN
Tmp:=A[k];
i:=k-1;
WHILE NOT ((A[i]<=Tmp) OR (i=1)) DO
BEGIN
A[i+1]:=A[i];
DEC(i)
END;
bon... tjs pas vu ??!
alors :
i := k-1;
si tu commences ta boucle à 1 :
tu aurrais :
i := 1-1;
soit i = 0 ^^
et donc ensuite, plus loin ds le code (en gras au dessus) :
A[i+1]:=A[i]; donnerais : A[1] := A[0] !!!!
On vient pas de dire que A[0] était une valeur incorrecte ?!
bah si... bah ouala. stout...
maintenant si c'est une explication de l'algo que tu veux... => demandes au prof, il est là pour ça
(belle explication pas concise et pas claire
))
dsl. 
Message édité par Moustaaki le 18-02-2003 à 17:46:10