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