begin process at 2012 05 30 16:50:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

salut je demande une aide en urgence


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

salut je demande une aide en urgence

dimanche 22 février 2009 à 10:07:37 | salut je demande une aide en urgence

benabied

j'ai un tp a rendre aprés demain, est pour objet d'evaluer une expression donnée en format préfixé
 ( ex : / + 10 2 3 ) puis il la reaffiche en format infixé c a d avec les parentthése( ex: (10+2)/3). j'ai fait un code mais il marche juste avec les chiffres de 1 a 9. merci d'avance
dimanche 22 février 2009 à 14:17:41 | Re : salut je demande une aide en urgence

coucou747

Administrateur CodeS-SourceS
Réponse acceptée !
salut

si tu expliquais quel est ton probleme exactement, on pourrait peut-etre t'aider.

l'algo est super simple, il s'agit d'un truc recursif vraiment bidon...

tu devrais poster ton code ici, on pourrait alors te dire ce qui ne va pas dans ton algo.
dimanche 22 février 2009 à 14:34:55 | Re : salut je demande une aide en urgence

benabied

j'ai un tp a rendre aprés demain,c' est pour objet d'evaluer une expression arithemetique donnée en format préfixé
 ( ex : / + 10 2 3 ) puis il la reaffiche en format infixé c .a .d avec les parentthése( ex: (10+2)/3). j'ai fait un code mais il marche juste avec les chiffres de 1 a 9. merci d'avance
voila mon code

/*****************fonction***********************/

typedef struct element
{
 char c;
 struct element *suiv;
}Pilec;
typedef struct ah
{
double a;
 struct ah *su;
}Pilei;

Pilec *empile(Pilec *pile,char elm)
{
 Pilec *cur;
 cur=(Pilec*)malloc(sizeof(Pilec));
 cur->c=elm;
 cur->suiv=pile;
 pile=cur;
 return pile;
}

Pilec *depile(Pilec *pile)
{
 Pilec *cur;
 cur=pile;
 cur=pile->suiv;
 delete(pile);
 pile=cur;
 return pile;
}
void affiche(Pilec *pile)
{
 Pilec *cur;
 cur=pile;
if(pile==NULL)
printf("pile est vide\n");
else
 while(cur!=NULL)
 {
  printf("%c",cur->c);
  cur=cur->suiv;
 }
}
void aff(Pilei *pile)
{
 Pilei *cur;
 cur=pile;
 while(cur!=NULL)
 {
  printf("%f",cur->a);
  cur=cur->su;
 }
}


char somc(Pilec *pile)
{

 char z=pile->c;
 return z;
}
Pilei *emp(Pilei *p,double elt)
{
 Pilei *cur;
 cur=(Pilei*)malloc(sizeof(Pilei));
 cur->a=elt;
 cur->su=p;
 p=cur;
 return p;
}
Pilei *dep(Pilei *p)
{
 Pilei *cur;
 cur=p;
 cur=p->su;
 delete(p);
 p=cur;
 return p;
}
double somi(Pilei *p)
{
 double z=p->a;
 return z;
}

//programme principale

#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#include<conio.h>
#include"projet de la pile.h"

void main()
{
 Pilec *infix=NULL;
 Pilei *pile=NULL;
 char  a,b,*p;

 double i,y,f,x,q,j;
 printf("Entrez l'expression arithmetiqe en format infixe séparé par des espaces:\n");

 while(a)
 { 
  scanf("%c",&a);

  if(a==':') break;
  else
   if( a != (' '))
  infix=empile(infix,a);
 }
 while(infix!=NULL)
  b=somc(infix);
 {

  if(b=='*')
  {
  y=somi(pile);
     pile=dep(pile);
     f=somi(pile);
  pile=dep(pile);
        x=y*f;
  pile=emp(pile,x);
  }
  else if (b=='/')
  {
  y=somi(pile);
     pile=dep(pile);
     f=somi(pile);
        x=y/f;
  pile=dep(pile);
  pile=emp(pile,x);
  }
  else if(b=='+')
  {
     y=somi(pile);
     pile=dep(pile);
     f=somi(pile);
        x=y+f;
  pile=dep(pile);
  pile=emp(pile,x);
  }
  else if(b=='-')
  {
  y=somi(pile);
     pile=dep(pile);
     f=somi(pile);
        x=y-f;
  pile=dep(pile);
  pile=emp(pile,x);
  }
  else if(b=='s')
  {
   
   q=somi(pile);
   j=q;
   pile=dep(pile);
   pile=emp(pile,j);
  }
  else
  {
  p=&b;
  i=atoi(p);
  pile=emp(pile,i);
  }

  infix=depile(infix); 
 }
 printf("La resultat du calcul est:\n");
 aff(pile);
 while(pile!=NULL)
 {
  pile=dep(pile);
 }
 printf("\n");
        getch();
}

dimanche 22 février 2009 à 14:39:32 | Re : salut je demande une aide en urgence

benabied

il faut que j'utilise les piles
dimanche 22 février 2009 à 14:48:41 | Re : salut je demande une aide en urgence

coucou747

Administrateur CodeS-SourceS
tu peux le faire sans les piles de facon super simple en quelques lignes.
dimanche 22 février 2009 à 14:52:06 | Re : salut je demande une aide en urgence

benabied

mais le prof nous a demendé de le faire avec les piles
lundi 23 février 2009 à 11:55:34 | Re : salut je demande une aide en urgence

coucou747

Administrateur CodeS-SourceS
#include <stdio.h>
#include <stdlib.h>

int is_num(char c){
return c >= '0' && c <= '9';
}

int op(char c){
  if ( c == '+' ) return 1;
  if ( c == '-' ) return 1;
  if ( c == '*' ) return 2;
  if ( c == '/' ) return 2;
  return 0;
}

void expression(char ** content, int oldop){
int o;
if (o = op(**content)){
  char operateur = **content;
  (*content)++;
  if (o < oldop) putchar('(');
  expression(content, o);
  putchar(operateur);
  expression(content, o);
  if (o < oldop) putchar(')');
}else if (**content == ' '){
  (*content)++;
  expression(content, oldop);
}else{
   while (is_num(**content)){
     putchar(**content);
     (*content)++;
   }
}
}


int main(){
  char *truc= "* 5 + 2 / + 10 2 3";
  expression(&truc, 0);
  putchar('\n');
  return 0;
}


Cette discussion est classée dans : aide, format, ex, demande, urgence


Répondre à ce message

Sujets en rapport avec ce message

URGENCE : AIDE [ par Nouch ] Comment executer un fichier .exe en c++merci les gars port // : demande d'aide merci bcp [ par kilian ] bonjouren fait je souhaiterais faire un soft en C++ ( mais je n'y comprends rien en C++ ) ( je suis plus que débutant :( )mon projet c'est de commande demande d'aide [ par siman ] bonjour!!je suis etudiante en licence EEA(Electronique Electrotechnique Automatisme)j'ai un projet d'info:faire un jeu de dames en langage c(joueur co demande aide pour StringGrid [ par xav42 ] Bonjour, j'utilise un StringGrid et j'aimerrai savoir comment recuperer le numero de la ligne contenant la case que je selectionne d'un clic de souris Demande d'aide pour programmer une date valide et une heure valide [ par jcdaurelle ] J'ai un projet à faire de reservation de billet de train, et dans ce prog je doit gerer l'entree de la date et des heures afin d'avoir les corresponda demande d'aide en c++ [ par swactix ] salut à vous Je suis un jeune Camerounais de 19ans ,et c'est un grand plaisir que je me plie devant vous pour vous exhorter de m'aider.en faite je sui demande d'aide en c++(visualc++) [ par swactix ] salut à vous Je suis un jeune Camerounais de 19ans ,et c'est un grand plaisir que je me plie devant vous pour vous exhorter de m'aider.en faite je sui demande d'aide en c++(ms visualc++) [ par swactix ] salut à vous Je suis un jeune Camerounais de 19ans ,et c'est un grand plaisir que je me plie devant vous pour vous exhorter de m'aider.en faite je sui Hors programmation... [ par NitRic ] Seulement une petite suggestion: Il serait bien d'indiquer dans les message(demande d'aide) quel compilateur on utilise... Pourquoi je dit ca:Allez vo Debutant demande aide. [ par nazca ] Le Zero de la programmationNazcaJ'aimerais savoir comment on met ou affiche l'heure du systeme dans une edit box,avec le programme(le + simple possibl


Nos sponsors


Sondage...

Comparez les prix

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 : 0,421 sec (4)

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