Bonsoir,
j'essaye de créer un programme qui me permettrai de trier par ordre croissant les valeurs d'un tableau de 100 entiers. Pour cela j'ai recours à une fonction qui me retourne l'indice de la plus grande valeur contenu dans une portion du tableau comprise entre l'indice 1 et un autre indice donné.
Voici cette fonction :
Mais pour une raison qui m'échappe elle me renvoie systématiquement la valeur de la variable 'borne' (qui correspond à la borne supérieur).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function IND_DU_MAX ( Tab : IN T_Vect_Entier ; Borne : IN Integer) return integer IS --Action : retourne l'indice de la plus grande valeur de tab comprise entre les indices 1 et la valeur de 'borne' Max : Integer; BEGIN Max:=0; FOR I IN 1..Borne LOOP IF Tab(I) > Max THEN Max:=I; END IF; END LOOP; RETURN Max; END IND_DU_MAX;
Pourquoi?
Partager