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 :

d'un tableau de caracteres à un entier....


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 44
    Points : 14
    Points
    14
    Par défaut d'un tableau de caracteres à un entier....
    bonjour et bonne année!!

    voilà, j ai encore un petit soucis: en fait, j ai tableau d'entiers de dimension 2, par exemple tab[0]=1 et tab[1]=2 et je souhaiterai attribuer la valeur (12) à un entier. En gros, comment transmettre de caractere à un entier.

    j ai pensé à la concaténation ou au code ASCII, mais je ne m en sors pas..

    Merci et bonne journée à toutes et à tous !!

  2. #2
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795

  3. #3
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: d'un tableau de caracteres à un entier....
    Citation Envoyé par felicity
    voilà, j ai encore un petit soucis: en fait, j ai tableau d'entiers de dimension 2, par exemple tab[0]=1 et tab[1]=2 et je souhaiterai attribuer la valeur (12) à un entier. En gros, comment transmettre de caractere à un entier.

    j ai pensé à la concaténation ou au code ASCII, mais je ne m en sors pas..
    J'ai rien compris.

    Donne un exemple 'avant' / 'après'
    Pas de Wi-Fi à la maison : CPL

  4. #4
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut Re: d'un tableau de caracteres à un entier....
    Bonjour

    Citation Envoyé par felicity
    j ai tableau d'entiers de dimension 2, par exemple tab[0]=1 et tab[1]=2
    Ben déjà, ca ca ressemble plus a un tableau a une seule dimension qui comporte deux éléments

    En voyant tes valeurs, j'ai la vague impression que tu as deux chiffres dans un tableau (les unités et les dizaines, sous la forme d'entiers) et que tu souhaire avoir le nombre correspondant :

    En gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void foo(void) {
      int tab[] = {1, 2} ;
      int x = tab[0] * 10 + tab[1] ;
    }
    Mais apres tu te contredit en parlant de "caractère à entier" ??!

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  5. #5
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    ptèt tu ve dir t[0]='1' et t[1]='2'? par ex a la suite de
    main()
    { char t[2];
    scanf("%c%c",&t[0],&t[1]);
    }
    si c cela:
    il faut déclarer l'entier qui contiendra le resultat:
    int n;
    et quelque part:
    n = 10*(t[0]-48) + t[1]-48;

    en effet en C, char et int c presque la même chose. tu peux par ex écrire 10+'a' ce qui donnerait 75 puisque 'a' est équivalent a 65! (voir code ascii). le truc donc c de savoir que le code ascii du caractère '0' est 48, celui de '1' : 49, ... et le tour est joué!

  6. #6
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Melem
    ptèt tu ve dir t[0]='1' et t[1]='2'? par ex a la suite de
    main()
    { char t[2];
    scanf("%c%c",&t[0],&t[1]);
    }
    si c cela:
    il faut déclarer l'entier qui contiendra le resultat:
    int n;
    et quelque part:
    n = 10*(t[0]-48) + t[1]-48;

    en effet en C, char et int c presque la même chose. tu peux par ex écrire 10+'a' ce qui donnerait 75 puisque 'a' est équivalent a 65! (voir code ascii). le truc donc c de savoir que le code ascii du caractère '0' est 48, celui de '1' : 49, ... et le tour est joué!
    Dans ce forum, on tente de ne pas écrire en sms mais en français...

    De plus, scanf n'est pas conseillé il vaut mieux utiliser getchar

    Finalement, à la place de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    n = 10*(t[0]-48) + t[1]-48;
    Je préfère:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    n = 10*(t[0]-'0') + t[1]-'0';
    Jc

Discussions similaires

  1. tableau de caractere => tableau d'entier
    Par misteryboy dans le forum C
    Réponses: 7
    Dernier message: 05/11/2006, 23h42
  2. [VB]Convertir une chaine de caractere en entier
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/02/2006, 12h06
  3. String comme tableau de caracteres
    Par malek_dz77 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/12/2005, 20h11
  4. tableau de couple d'entiers
    Par doublelune dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 18/10/2005, 07h34
  5. Transfomer une Chaine de Caractere en Entier
    Par ThanosT dans le forum C
    Réponses: 14
    Dernier message: 05/10/2005, 20h56

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