begin process at 2012 05 30 00:46:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

opérations dans une chaine de caractères


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

opérations dans une chaine de caractères

dimanche 8 avril 2007 à 00:17:18 | opérations dans une chaine de caractères

bagaz


Bonjour à tous.
Voila j'aimerais faire un programme qui fasse l'évaluation d'une expression qui tient dans un char * et qui retourne le resultat.
un exemple : "27877775+89"   ou  "24894180*12484859".
Si quelqu'un à une idée elle serait la bienvenue .
Merci d'avance.
Nunca hemos dejado de aprender.
dimanche 8 avril 2007 à 01:10:16 | Re : opérations dans une chaine de caractères

Ombitious_Developper

Salut:

Cas d'une addition:

char * operation = "123 + 566";

char * p = strchr (operation, '+');
char * q = (char *)strdup (p + 1);

*p = '\0';

int a = atoi (operation);
int b = atoi (q);

int res = a + b;

Dans des cas plus complexes avec des parenthèses, des régles d'associativités en jeu une pile fera l'affaire.

________________________________________________________________________________
A.B. :  "Dieu nous donne des mains, mais il ne bâtit pas les ponts"

dimanche 8 avril 2007 à 01:11:01 | Re : opérations dans une chaine de caractères

Ombitious_Developper

Salut:

Il faut faire le ménage aussi:

free (q);

________________________________________________________________________________
A.B. :  "Dieu nous donne des mains, mais il ne bâtit pas les ponts"

dimanche 8 avril 2007 à 04:21:54 | Re : opérations dans une chaine de caractères

SAKingdom

Membre Club
Réponse acceptée !
Le pointeur q ne sert à rien ici je crois:

char c[] = "123+456", *p = strchr(c, '+');
int res;

*p++ = 0;

res = atoi(c)+atoi(p);

Je ne peux pas tester mais je crois que c'est bon.

C++ (@++)

lundi 9 avril 2007 à 02:30:15 | Re : opérations dans une chaine de caractères

bagaz

Merci beaucoup Je crois que je vais m'en sortir à présent grâce à votre aide à tous. A bientôt.


Cette discussion est classée dans : chaine, caractères, opérations


Répondre à ce message

Sujets en rapport avec ce message

calculatrice en c++ TRES URGENT!!! [ par zouz ] Il faut que je réalise une calculatrice en programmation.Le fonctionnement est comparable à une calculatrice de poche tel que nous avons l'habitude d' int => chaine de caractères ? [ par kjus ] vala, il me faudrait transformer une variable int en chaine de caractère.Y a-t-il une fonction toute faite ?en fait, mon but est de l'inscrire dans un Construction d'un arbre à partir d'une chaine de caractères [ par dahlsimus ] Bonjour, Je souhaite construire un arbre représentant une expression booléenne saisie sous le forme d'une chaîne de caractère (ex: (a+b).C avec + OR e Copie d'une chaine Hexa dans une Chaine de caractères [ par lyde ] Bonjour,je souhaiterais copier la chaine hexa "010601AE0205040045" dans une variable de type TCHAR * qui est quasiment equivalente a un char *.Cependa HELP...chaine de caractères....en C..défi TP [ par SniPi ] Voici un exercice bien sympatique à faire en C.Je vous passerez le corrigé de ce TP mercredi prochain, en attendant j'aimerais voir ce que vous pensez Pointeurs et copie de caractères [ par Vaughn018 ] Bonjour,La mémoire ne peut etre 'written', un grand classique mais dans mon cas j'ai du mal à comprendre. Mieux vaut du code que des explications, alo chaine de caractères et fichier [ par wanny ] Bonjour.Je voudrais savoir comment faire pour supprimer une chaine de caractères spécifiques dans un fichier texte...Merci d'avance.wanny transformer un caractère en une chaine de caractères [ par zarce ] bonjour j'utilise une fonction qui affiche à l'écran (graphique) des chaines de caractères la syntaxe est du style ...DrawString(posX,posY, chaine de chaine de caractères [ par Goldberg ] Bonjour, comment faire ern C pour 1) introduire deux chaines de caractère (en fait rien que des valeurs numériques) 2) pouvoir additionner les prem Découpage de n premiers caractères d'une chaine [ par Guidelor ] BonjourJ'ai une chaine1 ="aaaaaaaaa123456"J'aimerais enlever "aaaaaaaaa"comment faire sachant que ce que je ve enlever est situé entre le 1er et le 10


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,760 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales