IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Comment faire afficher la position d'un element dans un tableau


Sujet :

Algorithmes et structures de données

  1. #1
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut Comment faire afficher la position d'un element dans un tableau
    Bonjour, je suis entrain de faire un petit exercice mais j'ai des petits problemes, voici l'ennoncé

    je déclare un tableau de 6 éléments, quand je tape une valeur du tableau il doit m'afficher automatiquement sa position, je vous montre mon code mais bon il n'est pas juste bien sur :-)

    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
     
    Constante MAX = 6
    Tableau entier iTableau taille MAX
    <* = { 1,2,3,4,5,6 } *>
    Variable indice iI
    Variable entiere iNbr,iPosition
     
    Début du traitement
    Initialisation
    Compter avec iI de 0 à 5
     
       Afficher iTableau[iI] Tab
     
    Fin de compter
       Fin de ligne
       Fin de ligne
       /* Boucle : */
       Initialisation
     
       Répéter
     
          Afficher"Entrez un nombre du tableau : "
     
          Moteur Lire iNbr
     
          /* Alternative : */
          Si iNbr == iTableau[MAX] Alors
     
    	 iPosition <- iTableau[iI]
     
    	 /* */
          Sinon
     
          Fin de si
     
          Afficher iPosition
     
       Boucler tant que iTableau[iI] > 0 ET iTableau[iI] <= 6
     
    Attente
     
    Fin du traitement
    Merci pour votre aide

  2. #2
    Membre régulier
    Avatar de DjPoke
    Homme Profil pro
    Invalide temporaire
    Inscrit en
    Août 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Invalide temporaire

    Informations forums :
    Inscription : Août 2005
    Messages : 93
    Points : 77
    Points
    77
    Billets dans le blog
    1
    Par défaut
    Salut !

    Essaye de faire ceci :

    1) Tu remplis ton tableau avec les 6 champs textes (je suppose que c'est du texte)

    2) Tu demande à l'utilisateur quel est le nom du champ qu'il cherche

    3) tu fais une boucle qui compte de 1 à 6 et qui compare le champ texte du tableau à l'indice donné avec le champ saisis précédament.

    4) Si les deux sont égaux, la valeur de ton compteur de boucle est la position dans le tableau

    Voilà, je sais pas si je suis clair...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    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
     
    Afficher"Entrez un nombre du tableau : "
     
          Moteur Lire iNbr
     
          /* Alternative : */
          Si iNbr == iTableau[MAX] Alors
     
    	 iPosition <- iTableau[iI]
     
    	 /* */
          Sinon
     
          Fin de si
     
          Afficher iPosition
    Il y a une chose au moins qui devrait te paraître bizarre dans ton algorithme :
    quand tu fais "iPosition <- iTableau[iI]", quelle valeur est sensée avoir iI ?

    Ce que tu as écrit au-dessus signifie : si le nombre entré par l'utilisateur (iNbr) est égal à la dernière case du tableau (iTableau[MAX]), alors la position à afficher (iPosition) est égale au contenu de la case iI du tableau.
    Il faudrait plutôt comparer toutes les cases du tableau avec iNbr (utilise une boucle Pour ou Tant Que, la seconde pouvant être plus efficace ici, la première peut être plus simple à trouver).
    Bon courage

  4. #4
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut Suite
    Bonjour, j'ai réalsier ce pseudo code-ci, il fonctionne très bien, mais je ne vois pas comment faire avec une autre boucle, si vous pourriez m'aidez merci d'avance.

    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
     
    Constante MAX = 6
    Tableau entier iTableau taille MAX
    <* = { 1,2,3,4,5,6 } *>
    Variable indice iI
    Variable entiere iNbr,iPosition
     
    Début du traitement
    Initialisation
    Compter avec iI de 0 à 5
     
       Afficher iTableau[iI] Tab
     
    Fin de compter
       Fin de ligne
       Fin de ligne
     
       Afficher"Entrez un nombre du tableau : "
       Lire iNbr
     
          /* Boucle : */
          Initialisation
          Compter avec iI de 0 à MAX - 1 
     
            /* Alternative : */
          Si iNbr == iTableau[iI] Alors
     
    	 iNbr <- iTableau[iI - 1] 
    	  Afficher iNbr
     
          Sinon
     
          Fin de si
     
          Fin de compter
     
    Attente
     
    Fin du traitement

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Ton algorithme écrit le nombre entré lorsqu'il le trouve. Il ne devrait pas écrire sa position plutôt ? (mais c'est presque ça)

    Sinon, une boucle Tant que te permettra de t'arrêter lorsque tu auras trouvé le nombre, au lieu de continuer jusqu'à la fin du tableau (bien sûr, cela suppose que le nombre entré ne se trouve qu'une fois dans le tableau).
    Dans ce cas, il y a deux conditions d'arrêt :
    - soit tu trouves le nombre, tu n'as plus qu'à arrêter la boucle et afficher la position
    - soit tu arrives à la fin du tableau, tu dois arrêter avant de dépasser la fin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/12/2008, 10h32
  2. Réponses: 2
    Dernier message: 30/06/2008, 09h36
  3. comment faire afficher des é ou è ou.
    Par zac59 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/12/2007, 20h21
  4. Réponses: 18
    Dernier message: 19/06/2007, 17h23
  5. Réponses: 1
    Dernier message: 23/03/2007, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo