Probleme de compilation en C(piles et files)
fabrice
-
fabrice -
fabrice -
Bonjour j'ai un probleme avec mon programme qui ne veut pas compiler.
Voici le prog:
#include <stdio.h>
#include <stdlib.h>
//variables golbales
int tailletab=0;
typedef struct Pile{
int tab [10];
int sommet;
}Pile;
void initialiser(Pile *p) {
p -> sommet = -1;
}
int estVide(Pile p){
return(p.sommet == -1);
}
void ajouter(Pile *p, int element) {
p -> tab[p -> sommet + 1] = element;
p -> sommet = p -> sommet + 1;
}
void supprimer(Pile *p, int element) {
if(!estVide(*p)){
p -> sommet = p -> sommet - 1;
}
}
int premier(Pile p) {
return (p.tab[p.sommet]);
}
void afficher(Pile p) {
int i;
i = p.sommet;
while (i != -1) {
printf("%d\n", p.tab[i]);
}
main() {
int n; //taille du tableau
getch();
}
Voici l'erreur:
line 44, parse error before '{'
Merci d'avance.
Voici le prog:
#include <stdio.h>
#include <stdlib.h>
//variables golbales
int tailletab=0;
typedef struct Pile{
int tab [10];
int sommet;
}Pile;
void initialiser(Pile *p) {
p -> sommet = -1;
}
int estVide(Pile p){
return(p.sommet == -1);
}
void ajouter(Pile *p, int element) {
p -> tab[p -> sommet + 1] = element;
p -> sommet = p -> sommet + 1;
}
void supprimer(Pile *p, int element) {
if(!estVide(*p)){
p -> sommet = p -> sommet - 1;
}
}
int premier(Pile p) {
return (p.tab[p.sommet]);
}
void afficher(Pile p) {
int i;
i = p.sommet;
while (i != -1) {
printf("%d\n", p.tab[i]);
}
main() {
int n; //taille du tableau
getch();
}
Voici l'erreur:
line 44, parse error before '{'
Merci d'avance.
A voir également:
- Probleme de compilation en C(piles et files)
- Pile de bios - Guide
- Recover my files pc - Télécharger - Récupération de données
- Bin files - Guide
- Dat files - Guide
- Host files - Guide
8 réponses
#include <stdio.h>
#include <stdlib.h>
#include <conio.h> /* getch() */
//variables golbales
int tailletab=0;
typedef struct Pile
{
int tab [10];
int sommet;
}Pile;
void initialiser(Pile *p)
{
p -> sommet = -1;
}
int estVide(Pile p)
{
return(p.sommet == -1);
}
void ajouter(Pile *p, int element)
{
p -> tab[p -> sommet + 1] = element;
p -> sommet = p -> sommet + 1;
}
void supprimer(Pile *p, int element)
{
if(!estVide(*p)){
p -> sommet = p -> sommet - 1;
}
}
int premier(Pile p)
{
return (p.tab[p.sommet]);
}
void afficher(Pile p)
{
int i;
i = p.sommet;
while (i != -1)
{
printf("%d\n", p.tab[i]);
}
}
main()
{
int n; //taille du tableau
getch();
system("PAUSE");
return 0;
}
#include <stdlib.h>
#include <conio.h> /* getch() */
//variables golbales
int tailletab=0;
typedef struct Pile
{
int tab [10];
int sommet;
}Pile;
void initialiser(Pile *p)
{
p -> sommet = -1;
}
int estVide(Pile p)
{
return(p.sommet == -1);
}
void ajouter(Pile *p, int element)
{
p -> tab[p -> sommet + 1] = element;
p -> sommet = p -> sommet + 1;
}
void supprimer(Pile *p, int element)
{
if(!estVide(*p)){
p -> sommet = p -> sommet - 1;
}
}
int premier(Pile p)
{
return (p.tab[p.sommet]);
}
void afficher(Pile p)
{
int i;
i = p.sommet;
while (i != -1)
{
printf("%d\n", p.tab[i]);
}
}
main()
{
int n; //taille du tableau
getch();
system("PAUSE");
return 0;
}
Merci beaucoup!
Je vous tiendrais au courant pour la suite.
Comment est-ce que l'on definit la structure d'une file?
Je vous tiendrais au courant pour la suite.
Comment est-ce que l'on definit la structure d'une file?
Voici ou en est mon programme:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h> /* getch() */
//variables golbales
//definitions des files
typedef struct cellule {
int valeur;
struct cellule *suivant;
}Element, *liste;
typedef struct File
{
liste debut;
liste fin;
}File;
void initialiserFile (File *f){
f -> debut = (liste) malloc(sizeof(Element));
f -> fin = f -> debut;
}
int estVideFile(File f){
return(f.fin == f.debut);
}
void ajoutFile(File *f, int v){
Element *e;
e=(liste) malloc(sizeof(Element));
e -> valeur = v;
f -> fin -> suivant =e;
f -> fin =e;
}
int premierFile(File f){
return(f.debut -> suivant -> valeur);
}
liste successeurFile(liste l){
return(l -> suivant);
}
void supprimerFile(File *f){
liste a;
a = f -> debut;
f -> debut = successeurFile(f -> debut);
free(a);
}
void afficherFile(File f){
liste aux;
aux = f.debut;
while (aux != f.fin){
aux = successeurFile(aux);
printf("%d", aux -> valeur);
}
}
//definition des piles
typedef struct Pile
{
int tab [10];
int sommet;
}Pile;
void initialiserPile(Pile *p)
{
p -> sommet = -1;
}
int estVidePile(Pile p)
{
return(p.sommet == -1);
}
void ajouterPile(Pile *p, int element)
{
p -> tab[p -> sommet + 1] = element;
p -> sommet = p -> sommet + 1;
}
void supprimerPile(Pile *p, int element)
{
if(!estVidePile(*p)){
p -> sommet = p -> sommet - 1;
}
}
int premierPile(Pile p)
{
return (p.tab[p.sommet]);
}
void afficherPile(Pile p)
{
int i;
i = p.sommet;
while (i != -1)
{
printf("%d\n", p.tab[i]);
}
}
//programme principal
main(){
char d,c;
File *f;
Pile *p;
int b; //0 pour faux et 1 pour vrai
initialiserFile(f);
initialiserPile(p);
printf("lettre:");
scanf("%d",c);
if (c != '.'){
ajouterPile(p, c);
ajouterFile(f,c);
}
while (c != '.'){
b=1;
while(estVidePile(*p) != -1){
c = premierFile(f);
d = premierPile(p);
if(c != d){
b = 0;
}//finsi
}//fintantque
printf("pour faux 0, pour vrai 1");
printf("%d",b);
}//fintantque
getch();
system("PAUSE");
return 0;
}
Le but de ce programme est de saisir un mot et de verifier si il s'agit ou non d'un palindrome(exemple:bob, radar, mot ce lisant indifféremment de gauche a droite et de droite a gauche).
Je dois obligatoirement utiliser une implémentation dynamique d'une pile et d'une file.
Merci de m'éclairer!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h> /* getch() */
//variables golbales
//definitions des files
typedef struct cellule {
int valeur;
struct cellule *suivant;
}Element, *liste;
typedef struct File
{
liste debut;
liste fin;
}File;
void initialiserFile (File *f){
f -> debut = (liste) malloc(sizeof(Element));
f -> fin = f -> debut;
}
int estVideFile(File f){
return(f.fin == f.debut);
}
void ajoutFile(File *f, int v){
Element *e;
e=(liste) malloc(sizeof(Element));
e -> valeur = v;
f -> fin -> suivant =e;
f -> fin =e;
}
int premierFile(File f){
return(f.debut -> suivant -> valeur);
}
liste successeurFile(liste l){
return(l -> suivant);
}
void supprimerFile(File *f){
liste a;
a = f -> debut;
f -> debut = successeurFile(f -> debut);
free(a);
}
void afficherFile(File f){
liste aux;
aux = f.debut;
while (aux != f.fin){
aux = successeurFile(aux);
printf("%d", aux -> valeur);
}
}
//definition des piles
typedef struct Pile
{
int tab [10];
int sommet;
}Pile;
void initialiserPile(Pile *p)
{
p -> sommet = -1;
}
int estVidePile(Pile p)
{
return(p.sommet == -1);
}
void ajouterPile(Pile *p, int element)
{
p -> tab[p -> sommet + 1] = element;
p -> sommet = p -> sommet + 1;
}
void supprimerPile(Pile *p, int element)
{
if(!estVidePile(*p)){
p -> sommet = p -> sommet - 1;
}
}
int premierPile(Pile p)
{
return (p.tab[p.sommet]);
}
void afficherPile(Pile p)
{
int i;
i = p.sommet;
while (i != -1)
{
printf("%d\n", p.tab[i]);
}
}
//programme principal
main(){
char d,c;
File *f;
Pile *p;
int b; //0 pour faux et 1 pour vrai
initialiserFile(f);
initialiserPile(p);
printf("lettre:");
scanf("%d",c);
if (c != '.'){
ajouterPile(p, c);
ajouterFile(f,c);
}
while (c != '.'){
b=1;
while(estVidePile(*p) != -1){
c = premierFile(f);
d = premierPile(p);
if(c != d){
b = 0;
}//finsi
}//fintantque
printf("pour faux 0, pour vrai 1");
printf("%d",b);
}//fintantque
getch();
system("PAUSE");
return 0;
}
Le but de ce programme est de saisir un mot et de verifier si il s'agit ou non d'un palindrome(exemple:bob, radar, mot ce lisant indifféremment de gauche a droite et de droite a gauche).
Je dois obligatoirement utiliser une implémentation dynamique d'une pile et d'une file.
Merci de m'éclairer!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question