j'ai fait un petit algorythme répondant a un problème très simple.
ma réponse n'est pas la meme que la corection.
voici l'énonçé :
Citation : énonçé
Ecrivez un algorithme qui permette de saisir un nombre quelconque de valeurs, et qui les range au fur et à mesure dans un tableau. Le programme, une fois la saisie terminée, doit dire si les éléments du tableau sont tous consécutifs ou non.
voici ma réponse :
tailleTableau en numérique
tableau en tableau
i=0 en numérique
consécutif en booléen <- VRAI
ecrire : entrez la taille du tableau
lire : tailleTableau
redim tableau[tailleTableau]
pour i=0 jusqu'a i=tailleTableau
{
ecrire : entrez la valeur numéro "i+1" :
lire : tableau[i]
}
écrire : le tableau va maintenant être analiser pour voir si ses nombre sont consécutif
pour i=0 jusqu'a i=tailleTableau
{
si tableau[i] != tableau[i+1] +1
booléen <- FAUX
}
si booléen = VRAI
ecrire : le tableau est consécutif
si boléen = FAUX
écrire : le tableau n'est pas consécutif
salut alors j'ai trouvé trois erreurs (en fait une et deux problèmes d'interprétations de l'énoncé) :
la première la condition e sortie de ta boucle est mauvaise : tu t'arrêtes lorsque i=taille du tableau alors que i devrait s'arrêter à la taille du tableau - 1 vu que tu testes ton tableau au rang i et au rang i+1 (lorsque i = taille du tableau on est toujours dans la boucle et on plante parceque tableau[i+1] n'existe pas)
ensuite si j'ai bien compris ton exercice te demande de rentrer autant de valeur que l'utilisateur souhaite donc il faudrait faire une autre boucle qui engloberait ton code genre : tant que temp != "valeur sortie" faire ... afin que ton utilisateur puisse répéter l'action de rentrer des valeur
enfin il me semble que ton tableau doit être trié or là si je rentre les valeurs 143256789 il va me retourner faux alors que mes valeurs sont bien consécutives il te faut donc un algorithme de tri pour cela je te conseille (y'en a d'autres) :
pour j = taille tableau jusqu'à 0
i=0
Tant que i<j-1 faire
si tableau[i]> tableau[i + 1] alors
temp = tableau[i]
tableau[i] = tableau[i + 1]
tableau[i + 1] = temp
fin si
i = i + 1
Fin faire
fin pour
voilà c'est fini... enfin si juste un léger détail, les tableaux ne sont pas sensés être dynamique en algo donc évite les redim et donne toi une taille de tableau énorme (genre 100 ou 200) afin de ne pas redimensioner le tableau
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.