[programmation en c] programme en c
Fermé
delta
-
19 déc. 2005 à 13:34
balashov Messages postés 17 Date d'inscription vendredi 13 décembre 2002 Statut Membre Dernière intervention 22 mars 2006 - 19 déc. 2005 à 14:10
balashov Messages postés 17 Date d'inscription vendredi 13 décembre 2002 Statut Membre Dernière intervention 22 mars 2006 - 19 déc. 2005 à 14:10
A voir également:
- [programmation en c] programme en c
- Programme demarrage windows 10 - Guide
- Application de programmation - Guide
- Désinstaller programme windows 10 - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
1 réponse
balashov
Messages postés
17
Date d'inscription
vendredi 13 décembre 2002
Statut
Membre
Dernière intervention
22 mars 2006
1
19 déc. 2005 à 14:10
19 déc. 2005 à 14:10
Salut à toi, programmeur!
Je te rappelle que ce forum n'est pas là pour faire les exercices des étudiants ;-)
Ne t'attends donc pas à trouver ici une solution toute faite à ton problème, mais seulement quelques aides pour la résolution de ton problème... Je suis étudiant moi aussi, et je me suis déjà fait rembarrer plusieurs fois pour ce genre de messages...
----------------------------------------------------------------
donc pour en revenir à ton exercice:
prototype de la fonction:
int eval_expression( char * expr);
elle reçoit en paramètre l'expression correctement saisie à évaluer et renvoie le résultat obtenu.
Je pense que la fonction pourrait tourner comme ça:
--> tu trouves la taille de l'expr avec la fonction int strlen( char * expr) de string.h
--> tu gères plusieurs tableaux d'entiers qui vont te permettre de repérer dans expr l'emplacement des divers "caractères remarquables":
-------> int * chiffres qui contiendra l'emplacement des chiffres
(pour savoir si un caractère est un chiffre, utilises int atoi( char ou char*) qui renvoie l'entier ou -1 sinon)
-------> int * par_ouvr qui contiendra l'emplacement des parenthèses ouvrantes
-------> int * par_ferm pour les parenthèses fermantes
-------> int * oper pour les opérateurs
Il te faudra ensuite allouer l'espace mémoire pour ces tableaux avec malloc de malloc.h et la taille de expr.
ensuite, suivant la position de tes parenthèses, tu trouves l'ordre des opérations à effectuer; tu réalises ensuite ces opérations dans l'ordre, et tu renvoies le résultat.
N'hésites pas à me contacter par mail si tu as besoin de plus d'informations!
@+
Balashov
Je te rappelle que ce forum n'est pas là pour faire les exercices des étudiants ;-)
Ne t'attends donc pas à trouver ici une solution toute faite à ton problème, mais seulement quelques aides pour la résolution de ton problème... Je suis étudiant moi aussi, et je me suis déjà fait rembarrer plusieurs fois pour ce genre de messages...
----------------------------------------------------------------
donc pour en revenir à ton exercice:
prototype de la fonction:
int eval_expression( char * expr);
elle reçoit en paramètre l'expression correctement saisie à évaluer et renvoie le résultat obtenu.
Je pense que la fonction pourrait tourner comme ça:
--> tu trouves la taille de l'expr avec la fonction int strlen( char * expr) de string.h
--> tu gères plusieurs tableaux d'entiers qui vont te permettre de repérer dans expr l'emplacement des divers "caractères remarquables":
-------> int * chiffres qui contiendra l'emplacement des chiffres
(pour savoir si un caractère est un chiffre, utilises int atoi( char ou char*) qui renvoie l'entier ou -1 sinon)
-------> int * par_ouvr qui contiendra l'emplacement des parenthèses ouvrantes
-------> int * par_ferm pour les parenthèses fermantes
-------> int * oper pour les opérateurs
Il te faudra ensuite allouer l'espace mémoire pour ces tableaux avec malloc de malloc.h et la taille de expr.
ensuite, suivant la position de tes parenthèses, tu trouves l'ordre des opérations à effectuer; tu réalises ensuite ces opérations dans l'ordre, et tu renvoies le résultat.
N'hésites pas à me contacter par mail si tu as besoin de plus d'informations!
@+
Balashov