Algorithmique et principe programmation
Bonjour, je dois faire un algorithme en me basant sur ceci et je sais vraiment pas le faire:cry:, j'espere que vous pourrez m'aider :oops:
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
Code:
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. |
Je vous remercie d'avance si vous savez m'aider.
ps:Je ne peux utiliser que des tantque, des repeter, des conditions, des tableaux, des conditions et des affectations.
Algorithme et programmation
Pardon mais je dois utiliser un langage du même type que ce qui est indiqué dans l'énoncé, je peux pas me permettre d'en sortir, je sais que je peux réussir avec ca mais ca ne m'est pas permis...:cry:
Algorithme et programmation
Je vous remercie beaucoup, j'aurai bien eu du mal à réussir sans vous :D
Algorithme et programmation
Pardon qqun peut me dire comment je peux insérer ca dans la boucle en se servant de l'énoncé merci
Max=Min=T[0]
puis je dois parcourir le tableau 1 fois mais je sais pas comment faire et comment ca doit se mettre puis je dois mettre
Si T[i] > Max alors Max=T[i]
Si T[i]<Min alors Min=T[i]
En fin de boucle retourner Max-Min
mais je sais pas ou je dois mettre ca:oops:
Algorithme et programmation
Mais c'est ca en fait que je dois trouver je dois partir de l'énoncé et chercher toutes les occurences et un du forum m'a donné cette solution mais ca ne fonctionne pas:cry: