Problème liste chainée en algoritmique

Fermé
vimavi Messages postés 4 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 11 juin 2010 - 10 juin 2010 à 21:38
vimavi Messages postés 4 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 11 juin 2010 - 11 juin 2010 à 15:26
Bonjour,

pourriez vous me donner la résolution de ce problème en algorithmique merci d'avance

Dans le cadre de la gestion des moyennes TP de la matière « Atelier de programmation 2 » d'une classe composée de 2 groupes d'étudiants qui seront représentés dans 2 listes chaînées LG1 et LG2.
Un étudiant est représenté par :
- Nce : Numéro de carte d'étudiant
- Nom : Nom de l'étudiant
- Prenom : Prénom de l'étudiant
- Moy : Moyenne de l'étudiant
1) Ecrire une déclaration adéquate relative aux deux listes chaînées LG1 et LG2
2) Ecrire une fonction qui permet de créer un groupe d'étudiants en retournant comme résultat la liste chaînée. On indiquera la technique d'ajout utilisée (Ajout en tête ou ajout en queue).
Fonction CreerGroupe() : Liste
3) Ecrire une procédure CopieDonnees permettant de copier les données des champs d'une structure d'étudiant pointée par le pointeur Source dans les champs correspondants de la structure pointée par Dest.
Procedure CopieDonnees(Source : ^Elem, Dest : ^Elem)
4) Ecrire une procédure AjoutEnQueue permettant, à partir d'une liste chaînée L d'étudiants et d'un pointeur p sur un élément (étudiant), d'ajouter un étudiant à la liste. Exploiter la procédure CopieDonnees déjà développée.
Procedure AjoutEnQueue (Don L : Liste, Don P : ^Elem)
5) En supposant que les deux listes LG1 et LG2, représentant respectivement les données des étudiants des groupes G1 et G2, sont déjà créées et triées par ordre de mérite (ordre décroissant de moyenne).
On vous demande d'écrire une procédure nommée :
Fusionner(Don LG1 :Liste, LG2 : Liste, Res L : Liste) permettant, à partir de LG1 et LG2, de créer la liste L qui sera la fusion (l'union) de ces deux listes en ayant la liste résultat L automatiquement triée par ordre de mérite (c-a-d sans effectuer une opération de tri)
6) Ecrire un algorithme principal permettant :
- de créer une liste chaînée d'un groupe d'étudiants LG1
- de créer une liste chaînée d'un groupe d'étudiants LG2
- de fusionner LG1 et LG2 pour avoir une seule liste L automatiquement triée (en supposant que LG1 et LG2 sont triées)
- d'afficher la liste ordonnée des étudiants de toute la classe

4 réponses

salut !

On est pas la pour faire tout ton taff, mais je peux te donner la structure :

struct MaStruct{
int NumCarte;
char * Nom, * Prenom ;
float Moyenne;
MaStruct * StrucSuivante;
};

après à toi de voir avec ta logique ;)
0
vimavi Messages postés 4 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 11 juin 2010
11 juin 2010 à 11:44
merci quand même c'est gentil :)
0
vincentdu76
11 juin 2010 à 11:51
Tu comprend la logique des listes chainées ? Je peux peut-être t'aidé, j'ai vu ça cette année.
0
vimavi Messages postés 4 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 11 juin 2010
11 juin 2010 à 15:26
je m'en suis sortie c'est bon merci beaucoup :)))))
0