Partage
  • Partager sur Facebook
  • Partager sur Twitter

[algorythme] est il bon ?

    27 juin 2007 à 15:38:18

    Bonjours,

    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

    est ce juste ?

    merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      27 juin 2007 à 16:02:33

      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
      • Partager sur Facebook
      • Partager sur Twitter

      [algorythme] est il bon ?

      × 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.
      • Editeur
      • Markdown