Exercices Programmation C – Les listes chaînées et les fichiers

Objectif :

Le but de ce TP est d’écrire un programme qui détecte des lignes identiques dans un fichier. De façon plus précise, le programme construit la liste de toutes les lignes différentes qui apparaissent dans le fichier et compte le nombre d’occurrences de chacune de ces lignes.

Pour construire la liste, on introduit les types Cellule et Liste définis de la façon suivante :

// Type des cellules pour les listes chaînées
struct Cellule {
char* str;                    // Pointeur sur la chaîne
int nbr;                      // Nombre d'occurrences
Cellule *next;                // Pointeur sur la cellule suivante
};
typedef Cellule* Liste;

Partie 1 (Allocation)

Écrire une fonction cellAlloc pour l’allocation d’une cellule. Cette fonction prend en paramètre une chaîne de caractères et retourne une cellule. Cette fonction doit pouvoir être utilisée de la manière suivante;

Cellule* c = cellAlloc("Une chaine");

Partie 2 (Construction de la liste)

Écrire une fonction cellCons qui ajoute une cellule à une liste. L’ajout de la nouvelle cellule est fait en tête de liste. Cette fonction prend en paramètre la cellule et la liste.

Partie 3 (Recherche)

Écrire une fonction (search) qui recherche une chaîne de caractères dans une liste. Cette fonction retourne un pointeur sur la première cellule qui contient la chaîne ou la valeur 0 si aucune cellule ne contient la chaîne.

Partie 4

Écrire un programme global qui lit sur l’entrée standard (5 lignes) et qui construit la liste des lignes différentes. Chaque cellule contient une des lignes et son nombre d’occurrences. À la fin, le programme affiche chaque ligne avec son nombre d’occurrences.

Partie  5

Modifier le programme de l’exercice précédent pour qu’il accepte le nom d’un fichier entré par l’utilisateur. La lecture des lignes se fait alors dans le fichier au lieu de l’entrée standard.

Termes de recherche utilisés:

  • exercices corrigés sur les listes chainées
  • les listes chainées en c exercices corrigés
  • les listes chainées exercices corrigés
  • exercices corrigés sur les listes chainées en c
  • exercices sur les listes chainées en c
  • exercice liste chainée c
  • exercice liste chainée
  • exercice corrigé liste chainée en c
  • langage c liste chainée exercice corrigé
  • exercices listes chainées corrigés

Comments

  1. ninawahraniya says:

    SVP j ai besoin de resourdre ce probleme alrothmique je le trouve compliquè voila le probleme si il ya quelqu'un qui peut m'aider et voila le Sujet : ""Pour jouer à AM-STRAM-GRAM, n enfants forment une ronde, choisissent l’un d’eux comme le premier, commencent à compter à partir de lui et décident que le kième enfant doit quitter la ronde, puis le 2kième, et ainsi de suite.
    En simulant la ronde par une liste circulaire, écrire un programme qui donne la liste des enfants dans l’ordre où ils sont sortis de la ronde :
    1/ pour une représentation contiguë,
    2/ pour une représentation chaînée accessible par pointeur,
    3/ pour une représentation chaînée accessible par maillon.""
    et Je vous remercier !!

  2. nani says:

    igmo

Speak Your Mind

*


*