Programme en c
Nin@
-
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
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
- Programme word gratuit - Guide
- Message programmé iphone - 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, +