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 2 arrays


Sujet :

C++

  1. #1
    Membre régulier
    Inscrit en
    Août 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 201
    Points : 83
    Points
    83
    Par défaut Comparer 2 arrays
    Bonjour

    je possede 2 arrays (1 double et 1 string) constitue chacune de 7 elements. Le 1er de l'un correspond au premier de l'autre (egal a)

    je voudrais, a l'aide d'une for loop comparer les valeurs de la 1ere array avec l'input de l'utilisateur, et ansi lui donner la conversion exact.

    la valeur entree par l'utilisateur doit etre comprise en 0 et 1.

    Le programme doit comparer cette valeure entree au contenu de la premiere array, si elle est n'est pas egale aux chiffre de la liste (inferieur), la loop doit selectionner le wrench precedent, et ainsi de suite.

    j'ai ecris ce code, mais le probleme c'est qu'a chaque valeur entree, c'est le 29 mm que j'ai comme output a chaque fois... alors que ca doit normalement donner des valeurs differentes

    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
     
    const int num_wrenches = 7;
    const int string_size = 6;
    double boltsize;
    int i, count;
    double inch_measure[num_wrenches] = {0.236,0.354,0.472,0.590,0.708,0.826,0.984};
    char wsizes[num_wrenches][string_size] = {" 6mm"," 9mm","12mm","15mm","18mm","21mm","25mm"};
    	cout << "\nSelecting the wrench that will fit (2007)\n";
    getuser:
    cout << "\nEnter the bolt size between 0 and 1 : ";
    	cin >> boltsize;
    	cout << endl;
    	boltsize = boltsize - 1;
     
    	for (i=num_wrenches; i>=0; i--)
    	{
    		if(boltsize <= inch_measure[i])
    		{	
    			cout << "\nThen you need the " << wsizes[i-1] << " wrench\n";
    			cout << endl;
    		}
    		goto getuser;
    	}
    Ou voyez-vous le probleme? Des idees?

    MERCI

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 125
    Points : 145
    Points
    145
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    boltsize = boltsize - 1;
    si tu entres une valeur entre 0 et 1 et que tu fais -1
    boltsize est entre [-1 0]

    le premier test sera toujours boltsize <= 0.984 donc c'est toujours vrais.

    puis tu fais le goto dans tous les cas, a la fin du premier test tu sors direct ( tu devrais eviter d'utiliser des goto )

    enfin il y a un gros pb sur les index des tableaux : tu as 2 tableaux de taille 7
    les indices pour y acceder sont donc de [0-6]
    ta boucle for va de [0-7]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(boltsize <= inch_measure[i])
    		{	
    			cout << "\nThen you need the " << wsizes[i-1]
    ce code doit avoir le meme pb tu tests une valeur sur un indice et affiches le resultat d'un autre indice

  3. #3
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Si c'est une question de C++ tu te dois de prendre des vecteurs ( std::vector ) ou listes ( std::list) et utiliser éventuellement des fonctions de comparaison
    Voir la doc de la STL sur le site de SGI

Discussions similaires

  1. Comparer 2 arrays
    Par Baptiste78 dans le forum Langage
    Réponses: 0
    Dernier message: 23/09/2011, 13h46
  2. comparer 2 array oui / non
    Par jeorcal dans le forum Langage
    Réponses: 11
    Dernier message: 05/08/2010, 10h50
  3. Comparer 2 array, array_diff
    Par jeorcal dans le forum Langage
    Réponses: 2
    Dernier message: 16/07/2010, 12h42
  4. Comparer deux array
    Par snyfir dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/02/2009, 06h54

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