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

 C Discussion :

Comparer les valeurs de deux tableaux


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de mailbox
    Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Par défaut Comparer les valeurs de deux tableaux
    Bonsoir, j'ai deux tableaux déclarés comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int tableau[5];
    const int tableau_autorise[10]={1,2,3,4,5,6,7,8,9,10};
    Dans mon code l'utilisateur donne des valeurs à mon premier tableau, et j'aimerai comparer si les valeurs entrées dans ce tableau sont comprises dans celles de tableau_autorise.

    J'ai commencé à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        for (i=0; i < 5; i++)
        {
            for (j=0; j < 10; j++)
            {
                if (tableau[i] != tableau_autorise[j])
                {
                    ???
                }
            }
        }

  2. #2
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    Bonsoir,

    Les indices des tableaux vont de 0 à N-1
    Tes boucles for ne sont donc pas correctes.

  3. #3
    Membre confirmé Avatar de mailbox
    Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Par défaut
    Effectivement, j'ai rectifié. Mais ce que j'aimerai c'est après ma boucle pouvoir dire :

    Les valeurs saisies dans tableau appartienne ou n'appartiennent pas à tableau_autorise.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Et bien voilà, tu y as fais le plus dur. Le code que tu as posté sera typiquement dans une fonction "int valide(const int *tab, const int *ref)", donc à l'intérieur du if tu fais un "return 0", et après la boucle extérieure tu fais un "return 1".

  5. #5
    Membre confirmé Avatar de mailbox
    Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Par défaut
    Mais imaginons que l'utilisateur entre la valeur 3 pour tableau[0], la boucle va d'abord comparer tableau[0] et tableau_autorise[0].

    Elle va renvoyer 0 car 3 =/= 1, or 3 est une valeur autorisé dans tableau_autorise.

    En fait je veux verifier que les valeurs de tableau soient dans tableau_autorise, peu importe si c'est dans le désordre.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Tu retournes 1 si tu trouves le nombre. Une fois la boucle finie (c'est-à-dire : si rien n'est trouvé), tu retournes 0.

    Tu t'es trompé d'opérateur dans ton "if".

    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
     /* à compléter */
    int fonction( .... )
    {
         for (i=0; i < 5; i++)
        {
            for (j=0; j < 10; j++)
            {
                if (tableau[i] == tableau_autorise[j])
                {
                    return 1;
                }
            }
        }
        return 0;
    }
    EDIT :
    Par contre, la fonction renverra 1 si au moins l'une des valeurs est trouvée dans le second tableau, parmi tes 5 valeurs de ton premier tableau.
    Je ne sais pas si c'est ce que tu veux faire. Donne plus de précisions.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2013, 18h38
  2. Comparer les valeurs de deux colonnes d'une feuille excel
    Par charrynsasi dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/12/2012, 14h40
  3. comparer les éléments de deux tableaux
    Par Nayra dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 26/11/2010, 16h26
  4. [MySQL] Comparer les valeurs de 2 tableaux serialisés dans une requête
    Par lodan dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/05/2010, 08h59
  5. [DeskI XiR2] Comparer les valeurs de deux colonnes
    Par EmmanuelleC dans le forum Débuter
    Réponses: 2
    Dernier message: 27/02/2009, 08h45

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