En entrée: les nom, prénom et âge sont sur une ligne séparée; aucun caractère ne marque la fin du fichier; il n'y a aucune ligne vide nulle part dans le fichier. En sortie: les nom, prénom et âge sont sur une seule ligne, séparés par un seul espace, l'âge est sur trois positions Le programme peut imprimer n'importe quel autre message (par exemple: "Entrez le nom"), à condition que la ligne commence par le caractère `>'.
Exemple:
Entrée: | Sortie: |
---|---|
|
|
type
cellule = record
contenu : char;
suivant : integer
end;
liste = record
tete : integer;
libre : integer;
tas : array[1..taille_max] of cellule
end;
Les cellules libres sont chaînées entre elles. Le champs tete
pointe
la première cellule de la liste, le champ libre
la
première cellule libre.
En utilisant cette déclaration, vous devez implémenter les procédures suivantes:
initialise(var l : liste) | Initialise la liste |
---|---|
cons(var l : liste; c : char) | Insère c au début de la liste (c'est à dire avant toutes les autres cellules).
|
inserer(var l : liste; c : char); | Insère c dans la liste à la position alphabétique.
|
afficher(l : liste) | Affiche la liste, en préfixant chaque cellule par sa position (indice dans le tas). |
supprimer(var l : liste; c : char) | Supprime la première occurence de c dans la liste. |
Exemple:
Entrée: | Sortie: |
---|---|
|
|