Exercice algo , tableau..

Fermé
Xtrem205 - 9 févr. 2012 à 11:57
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 16 févr. 2012 à 15:53
Bonjour
je suis un débutant en algo et j'ai déjà tenté à plusieurs reprises de corriger ce exercice mais sans résultat
Si quelqun peut m'aider svp

écrire un algorithme permettant de saisir 5 valeurs dans un tableau en entier
et ensuite il trouve la valeur Maximal et affiche le tableau sans la plus grande valeur MAX

Merci d'avance.

3 réponses

trankill076 Messages postés 74 Date d'inscription mercredi 25 mai 2011 Statut Membre Dernière intervention 2 juin 2014 21
9 févr. 2012 à 12:25
AlgoMax

Var
Tab[5]: Tableau de entiers
i, Max, TabMax: Entiers
Fin Var

DEBUT

for i = 1 to 5
Print ("Entrer une valeur")
Input (Tab[i])
Next

Max <-- Tab[1]
TabMax <-- 1

for i = 1 to 5
If Tab[i] > Max then
Max <-- Tab[i]
TabMax <-- i
End If
Next

Tab[TabMax] <-- NULL

FIN

Explications:
Tab[5] représente un tableau à 5 cases

le premier for (boucle "pour" en français) demande à l'utilisateur de rentrer une par une les cinq entiers du tableau (Tab[i] est la case n° i du tableau, or avec le for i va à la suite prendre les valeur 1,2,3,4 et 5)

ensuite le deuxième for va regarder une par une les cinq cases du tableau et si l'entier de la case est plus grand que le plus grand qu'il à déjà trouvé (c'est Max le plus grand) alors il remplace Max par l'entier de la case

enfin l'algo met NULL (en gros NULL c'est RIEN, même pas un 0 mais que dalle) dans la case du plus grand (la case du plus grand entier est la case n° TabMax)

En français Print c'est Afficher et Input c'est Saisir

Voila
1
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
Modifié par Mihawk le 9/02/2012 à 14:34
Rien à dire si ce n'est que le dernier "for" devrait logiquement commencer à 2 (si le premier index est 1 comme ici).
0
j'ai pas vraiment compris pourquoi tu as écris TabMax <-- i
et aussi en algo il n'existe pas le NULL y a pas une autre façon qui peut cacher la valeur max du tableau ??
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
Modifié par Mihawk le 16/02/2012 à 09:14
Bien sûr, tu peux refaire une boucle à la fin :

for i = 1 to 5 
   If (i != TabMax) then 
      print(tab[i]); 
   End If 
Next  
0
Merci mais je vois pas le rôle de la variable Tabmax ? petite explication une dernière fois et merci encore.
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
16 févr. 2012 à 15:53
Tablax est l'index du tableau contenant la valeur la plus grande ; donc l'index du tableau à ne pas afficher (puisque tu as demandé d'afficher le tableau sans la plus grande valeur !!)
0