Problème en c

Résolu/Fermé
firstmen2009 Messages postés 13 Date d'inscription lundi 23 mars 2009 Statut Membre Dernière intervention 30 mars 2011 - 26 mars 2009 à 19:16
 iLsFgIG++ !:p! - 8 avril 2009 à 23:42
Bonjour,
j'ai un problème en langage c et si possible le code qui permet de résoudre ce problème.
voici l'énoncée :

on étudie les températures relevées un peu partout le 1er janvier dans un pays contenant n villes, à toutes les heures de la journée. Le travail demandé est d'écrire un programme en c qui permet de résoudre le problème suivant :

Pour chaque heure (Entre 0 et 23 heures ), on établit un classement des différentes villes par ordre croissant des températures, en cas d'égalité entre deux villes ( deux villes ayant la même température ) la liste sera triée par ordre alphabétique selon les villes. On pourra ainsi afficher ( pour chaque heure de la journée ) la liste des villes, de la plus froide à la plus chaude, ou bien l'inverse.

Pour une heure h donnée, la liste des villes est codée grâce à une liste chaînée bidirectionnelle. On utilise un tableau de 24 listes des villes. Chacune des cases du tableau concerne une heure de la journée, elle contient la liste des villes triée par ordre croissant de températures à cette heure.

TRAVAIL DEMANDE

1) on va implémenter les fonctions suivantes associées au TDA ELEMENT :
- ELEMENT elementCreer(void); pour allouer l'espace mémoire pour un ELEMENT.
- void elementDeruire(ELEMENT); pour libérer l'espace mémoire de ELEMENT en vue de le supprimer.
- void elementLire(ELEMENT*); demande à l'utilisateur de donner une ville et la température et les affecte aux champs ville et température de ELEMENT.
- void elementAfficher(ELEMENT); qui affiche les données ville et température.
- int elementComparer(ELEMENT,ELEMENT); qui :

* retourne -1 si le champ température du premier ELEMENT est inférieur à celui du deuxième ELEMENT ou si les deux ELEMENTS ont la même température mais la ville du premier ELEMENT est classée avant la ville du deuxième ELEMENT en ordre lexicographique.
* retourne 1 si le champ température du premier ELEMENT est supérieur à celui du deuxième ELEMENT ou si les deux ELEMENTS ont la même température mais la ville du premier ELEMENT est classée après la ville du deuxième ELEMENT en ordre lexicographique.

- void elementCopier(ELEMENT *, ELEMENT) ; qui copie les informations du deuxième argument dans le premier argument.


2)Le travail demandé est d'implémenter les foctions suivantes associées au TDA liste ( en utilisant les listes bidirectionnelles): qui permet de gérer la liste des villes avec leurs températures sachant que la liste doit être triée selon les températures et ne contenant pas la même ville plus qu'une fois. En cas d'égalité entre deux villes ( deux villes de même température ) la liste sera triée par ordre alphabétique selon les villes.
* LISTE listeCreer(void);
* void listeDetruire(LISTE);
* int estVite(LISTE);
* int estSaturee(LISTE);
* int listeTaille(LISTE);
* int appartient(LISTE,ELEMENT); qui retourne 1 si la ville contenue dans ELEMENT existe dans LISTE, si non il retourne 0.
* ELEMENT recuperer(LISTE, int);
* int inserer(LISTE,ELEMENT); qui insère l'ELEMENT dans sa bonne place.
* int supprimer(LISTE; ELEMENT); qui supprime l'ELEMENT passé en paramètre.
* void listeAfficherCroissant(LISTE); qui affiche la liste des villes et les températures dans l'ordre croissant des températures.
* void listeAfficherDecroissant(LISTE); qui affiche la liste des villes et les températures dans l'ordre décroissant des températures.
* int listeComparer(LISTE,LISTE);
* ......

3) Ecrire la fonction main qui permet de :
* créer un tableau de 24 éléments de type LISTE
* donner la possibilité à l'utilisateur de saisir pour chaque heure h de la journée, les villes et leurs températures, le placement de la ville à la bonne place doit être éffectué automatiquement par le programme.
* donner la possibilité à l'utilisateur ( après la saisie ) de supprimer toutes les informations conçernant une ville saisie par l'utilisateur.
* donner la possibilité à l'utilisateur d'afficher la liste des villes et les températures relevées à une heure h saisie. L'affichage se fait dans l'ordre croissant des températures.
* donner la possibilité à l'utilisateur d'afficher la liste des villes et les températures relevées à une heure h. L'affichage se fait dans l'ordre décroissant des températures.

- Ajouter les fonctions nécessaires pour que le remplissage des températures soit éffectué automatiquement ( d'une manière aléatoire).

3 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
26 mars 2009 à 19:42
Ce n'est pas sur CCM que qqu'un le fera à ta place ... surtout que ça ne t'avancerais à rien. Ce n'est pas en admirant (même si on comprend) des codes qui fonctionne qu'on apprend à programmer : c'est en essayant. Et c'est normal que ça puisse buguer sans arrêt au début... Personne ne sait marcher dès la naissance, on commence à quatre pattes, et quand on essaye on se casse un peu la gueule, et on finit par y arriver.

Sur ce, si tu as des soucis, là oui, on pourra t'aider.
0
hamed01 Messages postés 207 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2011 24
26 mars 2009 à 19:42
tu ne t'attend tout de meme pas a ce que quelqu'un code tout cela pour toi...
Commence toi meme, et si tu as des difficultés, poste les sur le forum et on t'aidera.
0
firstmen2009 Messages postés 13 Date d'inscription lundi 23 mars 2009 Statut Membre Dernière intervention 30 mars 2011
26 mars 2009 à 20:18
merci de votre attetion
0
iLsFgIG++ !:p!
8 avril 2009 à 23:42
salut firstman,
eh dit donc, t'es de quel groupe en LFIG ! il parait que nos profs sont ici pour nous surveiller :p ! te casse pas tro la tete notre fac a été implanter a bouchoucha pas pour n'importe quel raison !!! lol !!! gud luck!
0