Petite question char C++
kribac
Messages postés
104
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour a ts et a tte,
ou est le problem ici ? je suis débutant
comment on fé l'appel a une fonction qui a char comme paraméthre ? on mé & ou * ??? aidé mw SVPPP
typedef struct polynome { char a;
struct polynome * sv;
}pol;
typedef pol * liste;
void ajouter(liste*l,char v) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(pol));
nouveau->a=v;
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}
int main (){
int n,x,i,choix;
char v;
liste pile=NULL;
printf("\nCombien d'element contient le polynome : ");
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++) {
printf("Valeur=");
scanf("%s",v);
ajouter(&pile,v); // il se block ici d'aprés ce que j'ai testé
printf("say");
}
}
ou est le problem ici ? je suis débutant
comment on fé l'appel a une fonction qui a char comme paraméthre ? on mé & ou * ??? aidé mw SVPPP
typedef struct polynome { char a;
struct polynome * sv;
}pol;
typedef pol * liste;
void ajouter(liste*l,char v) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(pol));
nouveau->a=v;
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}
int main (){
int n,x,i,choix;
char v;
liste pile=NULL;
printf("\nCombien d'element contient le polynome : ");
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++) {
printf("Valeur=");
scanf("%s",v);
ajouter(&pile,v); // il se block ici d'aprés ce que j'ai testé
printf("say");
}
}
A voir également:
- Petite question char C++
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Coco char - Accueil - Réseaux sociaux
- Petite croix snap - Forum Snapchat
- Petite majuscule word ✓ - Forum Word
- Mettre en petites majuscules - Forum Bureautique
5 réponses
Le problème c'est que v n'a pas de valeur, tu dois faire scanf("%c\n",&v);
La confiance n'exclut pas le contrôle
La confiance n'exclut pas le contrôle
merci KX pour votre réponse, j lé correcté mé ça marche pas aussi ya 1 autre problem j pense ben voila mon programme
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int i;
typedef struct myprojet { char a;
struct polynome * sv;
}pol;
typedef pol * liste;
//************** fonction ajouter structure a ma chaine ***************
void ajouter(liste*l,char v) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(pol));
nouveau->a=v;
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}
//******************* fonction afficher ma chaine *******************
void afficher(liste l)
{
liste p=l;
while(p!=NULL){
printf("%c ",p->a);
p=p->sv;
}
printf("\n");
}
//**************************** main***** *******************
int main (){
int n,x,i,choix;
char v;
liste pile=NULL;
printf("\nCombien de chaine : ");
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++) {
printf("Valeur=");
scanf("%c",&v);
ajouter(&pile,v); // ici que j'ai le prob comment j'appel ?
printf("il a entre ici");
}
afficher(pile);
system("PAUSE");
return 0;
}
Merci bqq
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int i;
typedef struct myprojet { char a;
struct polynome * sv;
}pol;
typedef pol * liste;
//************** fonction ajouter structure a ma chaine ***************
void ajouter(liste*l,char v) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(pol));
nouveau->a=v;
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}
//******************* fonction afficher ma chaine *******************
void afficher(liste l)
{
liste p=l;
while(p!=NULL){
printf("%c ",p->a);
p=p->sv;
}
printf("\n");
}
//**************************** main***** *******************
int main (){
int n,x,i,choix;
char v;
liste pile=NULL;
printf("\nCombien de chaine : ");
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++) {
printf("Valeur=");
scanf("%c",&v);
ajouter(&pile,v); // ici que j'ai le prob comment j'appel ?
printf("il a entre ici");
}
afficher(pile);
system("PAUSE");
return 0;
}
Merci bqq
Tu as défini liste comme étant *pol, tu as déjà un pointeur, ça ne sert donc à rien de passer en paramètre liste* à ajouter, liste suffit, du coup, tu auras ajouter(pile,v), mais il te faudra modifier ajouter...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Plusieurs problèmes :
Ton type récursif doit s'appeller polynome ou myprojet à toi de choisir, mais pas les deux en même temps !
De plus dans ton main, tu envoie liste pile = NULL comme paramètre de la fonction ajouter, il faut que tu initialises pile en mémoire pour pouvoir t'en servir !
Enfin, rajoute \n à ton scanf : scanf("%c\n",&v);
La confiance n'exclut pas le contrôle
Ton type récursif doit s'appeller polynome ou myprojet à toi de choisir, mais pas les deux en même temps !
De plus dans ton main, tu envoie liste pile = NULL comme paramètre de la fonction ajouter, il faut que tu initialises pile en mémoire pour pouvoir t'en servir !
Enfin, rajoute \n à ton scanf : scanf("%c\n",&v);
La confiance n'exclut pas le contrôle