Programme en c
Nin@
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
il faut ecrire une fonction void inverse(ptr&L1,ptr&L2)
qui empile les mots a partir d'une liste chainer dans une pile
et qui les depile dans une autre liste chaine pour avoir comme resultat
L1 = java->de->cours
L2 = cours->de->java
j'ai mem pas reusi a construir la pile
voilà ce que j'ai fait pour la pile
please please
c'est urgent
il faut ecrire une fonction void inverse(ptr&L1,ptr&L2)
qui empile les mots a partir d'une liste chainer dans une pile
et qui les depile dans une autre liste chaine pour avoir comme resultat
L1 = java->de->cours
L2 = cours->de->java
j'ai mem pas reusi a construir la pile
voilà ce que j'ai fait pour la pile
please please
c'est urgent
A voir également:
- Programme en c
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
2 réponses
salut, lami20j t'a normalement parfaitement aidé mais j'ai un petit programme aussi.
voilou, +
#include <stdio.h> #include <string.h> #include<iostream.h> /* ================================ Gestion d'une Pile par liste cha?n?e Ici Pile de pr?noms, par j?r?mie obert ================================ */ /* =========================== d?finition du type de structure qui représente un jeton de la pile =========================== */ typedef struct Pile{ char prenom[20]; struct Pile *suivant; }Pile; /* =========================== D?finition de la t?te de pile par un pointeur de pointeur =========================== */ typedef Pile* ListePile; /* ====================== Fonction Empiler ====================== */ void empiler(ListePile *maPile, char* pre) /* ou void empiler(Pile **maPile, char* pre) */ { /* 1) cr?er un nouveau jeton vide */ Pile *nouveau = (Pile*) malloc(sizeof(Pile)) ; /* 2) remplir le nouveau jeton par les donn?es (ici pr?nom) */ strcpy(nouveau->prenom,pre); /* 3) Inserer le nouveau jeton en t?te de pile */ nouveau->suivant=*maPile ; /* 4) Donner au nouveau jeton l'adresse de t?te de liste */ *maPile = nouveau ; } /* ============================ Fonction Depiler ============================ */ char* depiler(ListePile *maPile){ /* 1) r?cup?rer les donn?es (ici le pr?nom) du jeton du haut */ char pren[20]; Pile *pcourant = *maPile ; strcpy(pren,pcourant->prenom); /* 2) le jeton en dessous de celui du haut devient le jeton du haut */ *maPile = pcourant->suivant; /* 3) supprimer l'ancien jeton du haut : lib?rer le pointeur */ free(pcourant); /* 4) renvoyer les donn?s d?pil?es (ici le pr?nom)*/ return pren; } /* ===================================== Fonction Principale : main() ===================================== */ int main() { /* initialiser le pointeur du sommet de la pile */ ListePile maPile = NULL; /* ou Pile* *maPile=NULL; */ /* Ajouter un jeton sur la pile : appeler la fonction empiler */ empiler(&maPile,"alain"); empiler(&maPile,"annie"); empiler(&maPile,"gilles"); /* D?piler toute la pile : boucle sur appel de la fonction depiler */ while(maPile) { char pr[20]; strcpy(pr,depiler(&maPile)); printf(" prenom = %s\n ",pr) ; } system("pause"); }
voilou, +