Bonjour
J'ai écrit un algorithme qui stocke les numéros jusqu'à ce que l'utilisateur tape -1
utilisant une structure de pile -liste représentation-
j’ai très bien écrit l’algorithme et j’ai vérifié que c’est bien, mais quand j’exécute, il ne montre pas le résultat que je veux
c'est mon code
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| #include<stdio.h>
#include<stdlib.h>
typedef struct Element{
int nombre;
Element *suivant;
}element;
typedef struct Pile{
Element *premier;
}pile;
bool Empty(pile *sommet){
if(sommet== NULL)return true;
else return false;
}
void push (pile *sommet,int val){
element *nouv=(element *) malloc (sizeof(element));
if(nouv==NULL){
printf("pile est full");
}
else{
nouv->nombre=val;
nouv->suivant=sommet->premier;
sommet->premier=nouv;}
}
void pop (pile *sommet,int val ){
element *temp=(element*)malloc(sizeof(element));
if (Empty(sommet)==true){
printf("pile vide");
}
else{
temp=sommet->premier;
val=temp->nombre;
sommet->premier=temp->suivant;
free(temp);
}
}
pile *initPile(){
return NULL;
}
bool full(pile *sommet){
return false;
}
pile *stock (){
pile *NP;int v;
NP=initPile();
puts("donnez vos valeur\n ");
scanf("%d",&v);
while( v != (-1) ) {
push( NP , v );
scanf( "%d" , &v );
}
return ( NP );
}
void show(pile *sommet){
element *c;
c=sommet->premier;
while(c!=NULL)
{
printf("%d\n",c->nombre);
c=c->suivant;
}
}
main(){
pile *myPile=initPile();
myPile=stock();
show(myPile);
system("pause");
} |
espérons que vous m'aidez à le résoudre
et mrc d'avance
j'utulise le Dev c
Partager