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 :

Récupérer plusieurs données d'un tableau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par défaut Récupérer plusieurs données d'un tableau
    Bonjour,

    je voudrais savoir comment réucpérer plusieurs données d'un tableau char pour en faire un int.

    Par exemple, j'ai un tableau {'0' '/' '4' '3' '/' '7'}

    Si je veux recuperer les valeurs entre '/' par exemple ici 4 et 3 pour en faire un int=43.
    Comemnt faire!????

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 480
    Par défaut
    Si tu connais déjà leurs positions, tu peux aller chercher les caractères directement, à l'aide d'un index dans ton tableau : tab[1], tab[3], tab[4], etc.

    Pour calculer la valeur représentée, il faut d'abord déduire la valeur du caractère individuellement. Comme, en pratique, les chiffres sont consécutifs dans toutes les tables de caractères (à ma connaissance), il suffit de retrancher la valeur du « 0 ». Donc : tab[x] - '0'. Ensuite, on utilise un int comme accumulateur, on multiplie par dix la valeur de celle-ci, on ajoute celle du chiffre en question, on passe au suivant et on recommence.

  3. #3
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par défaut
    ou même si cest un tableau de int si vous voulez, je ne vois pas comment "coller" deux valeurs(ici 4 et 3)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Alors, en base 10 il suffit de faire
    int x=tab[3] * 10 + tab[4];
    ca va vous faire 4 * 10 +3 = 43; et pas 7
    Naturellement il ne faut pas oublier de soustraire '0' comme l'a dit obsidian.

  5. #5
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par défaut
    je ne comprend pas pourquoi soustraire '0'!?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Parce que la caractère '1' est un int dont la valeur est 49, '2' ... 50 etc.
    Et '0' vaut 48. Donc '1' - '0' = 1. C'est ce qu'on veut.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    A mon avis, en base 10, 43 = 4 * 10 + 3.
    Mais en base 16 43 = 4 * 16 + 3 soit 67 en décimal.
    En fait, tout dépend du contexte.

  8. #8
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par défaut
    je sais pas si jai été tres clair en faite je voi comment récuperer les valeur dans un tableau avec le sindex et tout,
    mon problème est de ne pasvoir comment '4' '3' peux me donner 43
    je peux pas faire
    int x=tab[3]+tab[4]
    ca va me faire 4+3=7

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

Discussions similaires

  1. [Tableaux] Récupérer les données d'un tableau
    Par Madoka dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2008, 11h51
  2. Réponses: 9
    Dernier message: 04/04/2007, 11h16
  3. Réponses: 7
    Dernier message: 11/01/2007, 18h54
  4. Réponses: 6
    Dernier message: 27/09/2006, 20h27

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