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 :

Récupération d'un indice dans un tableau (à partir de la fin)


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Récupération d'un indice dans un tableau (à partir de la fin)
    Bonjour,

    J'ai un organigramme à créer et l'énoncé est le suivant:

    Énoncé: On demande à l'utilisateur de saisir une série de nombres entiers positifs ou négatifs.

    À chaque saisie, on place les valeurs négatives au début d'un tableau d'entiers et les valeurs positives dans le même tableau, mais à partir de la fin. La saisie s'arrête lorsque que l'utilisateur tape la valeur 0 (zéro) ou lorsque le tableau est rempli.
    Lorsque la saisie est terminée, le programme affiche le contenu du tableau.
    J'ai pu faire un schéma qui me semble correct, mis à part un point concernant ma boucle "Tant que...". En effet, si l'utilisateur entre une valeur négative, on remplit le tableau en commençant par le début. Sinon, on commence par la fin. Je me demandais alors, comment faire pour qu'au moment d'entrer une valeur positive on commence par le dernier indice de la table.

    L'image suivante illustre mon organigramme:



    J'ai entouré en rouge ce qui me pose un problème apparemment. Est-ce que si j'entre une 2ème fois dans la boucle, l'indice "i" va reprendre la longueur "T" du tableau ? Ce qui aurait comment conséquence qu'il ne bougerai pas, même en indiquant i ← i - 1...

    Comment je devrais m'y prendre à votre avis ?


    Merci d'avance

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Salut,

    Ca peut difficilement marcher si tu utilise le même i pour le stockage des positifs et des négatifs dans le tableau: comment savoir ou on en est et si le tableau est plein?

    A l'initialisation il faut créer deux index diffférents:
    • int indexNegatif = 0
    • int indexPositif = longueurTableau-1

    et les utiliser correctement ensuite...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Oui, tu as raison. J'y ai réfléchi à nouveau et me suis dit qu'utiliser une autre variable pour les indices (en commençant par la fin) manquait.

    i ← 0: entier

    T ← longueur(Tab)

    i2 ← T -1


    En modifiant mon algorithme de cette façon, ça fonctionne et correctement cette fois^^


    Merci bcp pour ton aide :-)

Discussions similaires

  1. Récupération d'un indice dans un tableau
    Par fatenov dans le forum MATLAB
    Réponses: 3
    Dernier message: 04/12/2007, 16h28
  2. [VBA] Obtenir l'index dans un tableau à partir de sa valeur.
    Par Julien Dufour dans le forum Access
    Réponses: 2
    Dernier message: 28/07/2006, 11h03
  3. Réponses: 2
    Dernier message: 11/04/2006, 22h54
  4. [8086] Valeur dans un tableau à partir de son adresse
    Par dridri dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 22/03/2006, 08h39

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