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 :

Verification d'une expression mathematique avec les piles


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut Verification d'une expression mathematique avec les piles
    salut tout le monde
    là j'essaie de faire une verification syntaxique d'une expression mathematique pour ce faire j'ai eu recours aux piles , cependant il s'est averé que j'ai un probleme
    je vous laisse avec mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #define MAX 100 
    #define true 1
    #define false 0
     
     
    struct stack {
           char vec[MAX];
           int sommet;
           }st;
    void stackinit(){
         st.sommet =-1;
         return;
         }
     
    int stackempty(){
            if(st.sommet!=-1) return false ;
            else return true;
            }
    char pop(){
         char result;
         if(stackempty()){
                           perror("stack underflow");exit(1);
                           }
                           else{
                                result = st.vec[st.sommet];
                                st.sommet--;
                                return(result);
                                }
                                }
    void push(char x){
         if(st.sommet== 99){
                              perror("stack overflow"); exit(2);}
                              else{
                                   st.sommet++;
                                   st.vec[st.sommet] =x;}
                                   return;}
     
    main(){
           char ex;stackinit();
           puts("entrez votre expression");
           scanf("%s",&ex);
           while(ex=getchar() != '\n'){
                              switch(ex){
                                         case '(': push(ex);break;
                                         case '{': push(ex);break;
                                         case '[': push(ex);break;
                                         case ')': pop();break;
                                         case ']': pop();break;
                                         case '}': pop();break;
                                         }
                                         if(stackempty()){
                                                          puts("l'expression est vraie");
                                                          getch();
                                                          }
                                                          else{
                                                               puts("l'expression est fausse");getch();
                                                               }
     
           }}
    y'a surement une erreu mais j'ignore ou ? :s

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Qu'essaies tu de faire là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        scanf("%s", &ex);
        while (ex = getchar() != '\n')

Discussions similaires

  1. utiliser une expression régulliere avec la methode getelementbyid
    Par rootdaoud dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/05/2006, 18h25
  2. Réponses: 1
    Dernier message: 03/05/2006, 10h49
  3. Réponses: 11
    Dernier message: 03/05/2006, 01h24
  4. [VC++ 2005 Express] PB avec les API (SDK)
    Par dorian833 dans le forum MFC
    Réponses: 16
    Dernier message: 25/11/2005, 23h30
  5. Charger et afficher une image jpg avec les mfc
    Par glop - pas glop dans le forum MFC
    Réponses: 3
    Dernier message: 11/02/2004, 18h59

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