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 :

[c++] probleme avec une chaine string


Sujet :

C++

  1. #1
    Membre confirm�
    Inscrit en
    Mars 2010
    Messages
    90
    D�tails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 90
    Par d�faut [c++] probleme avec une chaine string
    bonjour,

    voila , j une chaine de carat�re compos� de caract�re et d'entier ce que j veux faire c'est de mulitiplier tous mes entiers par 0.5 le probl�me ce que la valeur de retour c'est une valeur d�cimal .
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    string chaine="a2v3c4";
    	int j=0 ;
    double k=0.0;
     
    	int i ;
    	for (i=1;i<chaine.size();i=i+2)
    	{
     
    		k=chaine[i]*0,5 ;
     
    	}
    avec cet exemple j'obtiens a l'ex�cution pour la case 2 par exemple 25

    c'est quoi la solution ??

    et merci d'avance

  2. #2
    Membre chevronn�

    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
    Par d�faut
    Salut,

    Essaye d�j� �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    string chaine="a2v3c4";
         int j=0 ;
         double k=0.0;
     
         int i ;
         for (i=1;i<chaine.size();i+=2)
         {
              k=(double)chaine[i]*0.5 ;
         }
    1)Il faut convertir le 'chaine[i]' en double sinon la multiplication te renvoie un int
    2)Il faut utiliser un '.' comme s�parateur d�cimal : '0.5' et pas 0,5'
    3)Te rends tu compte que la valeur de k est �cras�e chaque fois
    4)Si le nombre de caract�res de ta 'string' est impaire tu risque d'aller chercher un caract�re au del� de la fin de celle-ci : v�rifie avant de commencer la boucle que la 'chaine.size()' est bien paire
    5) Dans ton exemple si tu veux que k = 2*0.5 pour le deuxi�me caract�re, il faut �crire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    k = (double)( chaine[i] - (int)'0') * 0.5;

  3. #3
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Sur le 0,5 vs. 0.5

    Ce code :
    Fait les choses suivantes:

    1/ d�claration d'un symbole i de type int
    2/ �valuation de 0 (ne vait rien en soi)
    3/ �valuation de 5 (ne fait rien en soi)
    4/ affectation de i avec la derni�re expression �valu�e

    Du coup, i = 5.

    En C et en C++, la virgule est un s�parateur d'expressions. Un idiome classique :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    if (foobar(x,y,z) < 0) perror("foobar"), exit(ERROR_CODE);
    On trouve la virgule en tant que s�parateurs de param�tres, ainsi que pour s�parer les deux expressions perror(..) et exit(..). Ce code permet de mettre plsueirs expressions sur une ligne, et donc de ne pas avoir besoin de cr�er un bloc { ... } pour quelque chose d'aussi simple (en termes de maintenance, il est toujours pr�f�rable de cr�er un bloc).
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Retrouver Variable avec une chaine String
    Par jojo86 dans le forum Langage
    R�ponses: 6
    Dernier message: 06/05/2012, 10h17
  2. probleme avec une chaine de caract�re
    Par nebilabd dans le forum C
    R�ponses: 9
    Dernier message: 24/12/2010, 18h29
  3. Probleme avec une chaine
    Par youyouta dans le forum Langage
    R�ponses: 19
    Dernier message: 01/04/2008, 23h23
  4. Probleme avec une chaine STRING !!!
    Par Bebert71 dans le forum C++
    R�ponses: 10
    Dernier message: 09/05/2006, 09h29
  5. Probleme avec une chaine de caractere
    Par Jim_Nastiq dans le forum Langage
    R�ponses: 2
    Dernier message: 07/04/2006, 09h56

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