Bonjour, je dois faire un algorithme en me basant sur ceci et je sais vraiment pas le faire, j'espere que vous pourrez m'aider
Rédiger une version affichant toutes les occurrences du plus grand écart par la position des nombres concernés dans le tableau.
On souhaite un affichage comme celui-ci, p.ex. pour le tableau ci-dessous
Le plus grand écart est 42 entre les valeurs aux indices (1, 3), (1, 9), (3, 4), (4, 9)
45 21 3 45 12 30 11 41 3 39 15
Voici un algorithme que j'ai su faire pour afficher le premier plus grand écart
Je vous remercie d'avance si vous savez m'aider.
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 Algorithme plus_grand_ecart ; constante tSup = 100 ; variable t : tableau[1 .. tSup] de entier ; variable bSup : 0 .. tSup ; variable iMin, iMax : 0 .. tSup ; procedure chargerTableau ; debut ... fin ; # ici bSup est défini et le tableau chargé de 1 à bSup procedure calculEcart ; variable indice : 1 .. tSup ; debut si bSup > 0 alors iMin <- 1 ; iMax <- 1 ; pour indice de 2 a bSup si t[indice] > t[iMax] alors iMax <- indice finSi ; si t[indice] < t[iMin] alors iMin <- indice finSi ; finPour ; finSi fin ; debut chargerTableau ; calculEcart ; écrire(abs(t[iMax] - t[iMin])) fin.
ps:Je ne peux utiliser que des tantque, des repeter, des conditions, des tableaux, des conditions et des affectations.
Partager