Aide pour l'algo
peweete
Messages postés
4
Statut
Membre
-
peweete Messages postés 4 Statut Membre -
peweete Messages postés 4 Statut Membre -
Bonjour,j'ai un probleme de declaration en algo pour mon projet.Voici l'enoncé:
1 societe organise des receptiopns pour cela elle connait:
la liste des pays existant ds le monde,sn continent,sn gouvernement(empire rouyte republiq...),sn nbr d'habitants,capital etv souirce de richesse.
pr chaq pys ele connait ses allies politiq(pays frere);allies economiq(pays amis);ses ennemis(pays guerre);ses inimities(pays avec tensions)
pr chaq pays ds le monde, ele connait la liste des ambassdes presentes ds le pays,et nom de l'ambassadeur en poste.
pr chaq chef d'etat et chaq ambassadeur;elle connait ses allergies culinaires eventuelles
pour chaq reception elle conserve la date,le lieu,la liste d'invites et le menu servi
la societe a un catalogue de plat a servir.pr chaq plat elle sait s'il s'agit d'1 entree,ou plat principal,ou dessert et elle connait la liste des ingredients qui le composent
je connais seulement les structurs, les tableaux, les listes chainees ,les pointeurs et les fichiers vite fait.
merci par avance en esperant une reponse rapide si possible
1 societe organise des receptiopns pour cela elle connait:
la liste des pays existant ds le monde,sn continent,sn gouvernement(empire rouyte republiq...),sn nbr d'habitants,capital etv souirce de richesse.
pr chaq pys ele connait ses allies politiq(pays frere);allies economiq(pays amis);ses ennemis(pays guerre);ses inimities(pays avec tensions)
pr chaq pays ds le monde, ele connait la liste des ambassdes presentes ds le pays,et nom de l'ambassadeur en poste.
pr chaq chef d'etat et chaq ambassadeur;elle connait ses allergies culinaires eventuelles
pour chaq reception elle conserve la date,le lieu,la liste d'invites et le menu servi
la societe a un catalogue de plat a servir.pr chaq plat elle sait s'il s'agit d'1 entree,ou plat principal,ou dessert et elle connait la liste des ingredients qui le composent
je connais seulement les structurs, les tableaux, les listes chainees ,les pointeurs et les fichiers vite fait.
merci par avance en esperant une reponse rapide si possible
8 réponses
de l'aide pour declarer mes structures car j'ai un souci avec les articles donc je peux pas traiter mes questions pou le projet
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pour moi, ça m'a plutôt l'air d'un projet en bases de données... tout ça, c'est de la structuration de données et du requetage
je sais mais le probleme est qu'on ne peut utiliser que les bases du langage C (fichier,tableau,liste,pointeur )
Salut,
j'ai abordé ton problème d'un point de vue bases de données, pour créer un schéma relationnel, mais à partir de là, on peut toujours créer une arborescence de structures pour contenir le tout.
pour moi, en c, ça serait un ensemble de listes chainées, mais pour tout remplir, mettre à jour et exploiter, tu vas t'amuser, surtout s'il s'agit de faire des jointures ou d'autres trucs...
le plus important à mon sens, est de bien faire attention au fait que certaines données peuvent avoir plusieurs occurences par rapport à d'autres, et que le nombre de ces occurences peut être variable. par exemple : un pays a plusieurs diplomates, un menu a plusieurs plats, un plat a plusieurs ingrédients, etc...
donc, on ne peut pas définir une structure de type "plat" qui comporte en elle même et de façon fixée les éléments susceptibles de cointenir les ingrédients. si ta structure plat a 25 ingrédients et que ton plat (ex: la salade de tomates) n'en a que 4, ça peut poser problème.
par conséquent, ce qu'il vaut mieux faire, c'est définir une structure "plat" dont l'un des éléments est un pointeur qui va pointer vers une liste d'ingrédients.
voici un exemple de quelques structures et du raisonnement à suivre :
une structure Pays
- nom
- continent
- gouvernement
- habitants
- capitale
une structure relations (attention au remplissage à ne pas avoir de doublons)
- Pays1 (pointeur vers élément pays)
- Pays2 (pointeur vers élément pays
- relation (ami, ennemi, etc...)
une structure diplomates (0,1ou plusieurs diplomates par pays)
- pays (pointeur vers élément pays)
- nom
- fonction (président, 1er ministre, etc...)
chaque structure sera en fait le prororype des éléments d'une liste chainée, il faut donc rajouter à tout ça les pointeurs nécessaires pour te ballader à l'intérieur de ta liste chainée.
la liste des diplomates contiendra tout les diplomates de la planètes. pour trouver les diplomates d'un pays, il faut parcourir toute la liste et récupérer le nom du pays pointé par le pointeur sur la structure pays associée au diplomate observé à l'instant T pour savoir si le diplomate en question fait bien partie du pays recherché.
cette liste va contenir plusieurs fois le même pays car un pays a généralement plusieurs diplomates. par contre, un diplomate ne travaille généralement que pour un seul pays, et donc chaque diplomate ne sera présent qu'une seule fois dans toute la liste.
la liste relations va contenir l'état des relations entre chaque pays, il faut bien faire attention que pays1, pays2, relation et pays2, pays1, relation, c'est la même chose, et donc, il faut faire bien attention quand on rempli la structure.
donc, chaque pays pourra apparaitre plusieurs fois dans cette liste, mais chaque association entre 2 pays ne pourra apparaitre qu'une seule fois.
etc...
je ne vais pas t'en dire plus, le reste, tu dois essayer de le trouver par toi-même
je reconnais quand même que tout passer en c est assez galère... en gros, tu es en train de recréer un mini système de gestion de bases de données, et tu vas bien t'amuser, avec les pointeurs et autres navigations dans tes listes... je te souhaite bien du plaisir.
j'ai abordé ton problème d'un point de vue bases de données, pour créer un schéma relationnel, mais à partir de là, on peut toujours créer une arborescence de structures pour contenir le tout.
pour moi, en c, ça serait un ensemble de listes chainées, mais pour tout remplir, mettre à jour et exploiter, tu vas t'amuser, surtout s'il s'agit de faire des jointures ou d'autres trucs...
le plus important à mon sens, est de bien faire attention au fait que certaines données peuvent avoir plusieurs occurences par rapport à d'autres, et que le nombre de ces occurences peut être variable. par exemple : un pays a plusieurs diplomates, un menu a plusieurs plats, un plat a plusieurs ingrédients, etc...
donc, on ne peut pas définir une structure de type "plat" qui comporte en elle même et de façon fixée les éléments susceptibles de cointenir les ingrédients. si ta structure plat a 25 ingrédients et que ton plat (ex: la salade de tomates) n'en a que 4, ça peut poser problème.
par conséquent, ce qu'il vaut mieux faire, c'est définir une structure "plat" dont l'un des éléments est un pointeur qui va pointer vers une liste d'ingrédients.
voici un exemple de quelques structures et du raisonnement à suivre :
une structure Pays
- nom
- continent
- gouvernement
- habitants
- capitale
une structure relations (attention au remplissage à ne pas avoir de doublons)
- Pays1 (pointeur vers élément pays)
- Pays2 (pointeur vers élément pays
- relation (ami, ennemi, etc...)
une structure diplomates (0,1ou plusieurs diplomates par pays)
- pays (pointeur vers élément pays)
- nom
- fonction (président, 1er ministre, etc...)
chaque structure sera en fait le prororype des éléments d'une liste chainée, il faut donc rajouter à tout ça les pointeurs nécessaires pour te ballader à l'intérieur de ta liste chainée.
la liste des diplomates contiendra tout les diplomates de la planètes. pour trouver les diplomates d'un pays, il faut parcourir toute la liste et récupérer le nom du pays pointé par le pointeur sur la structure pays associée au diplomate observé à l'instant T pour savoir si le diplomate en question fait bien partie du pays recherché.
cette liste va contenir plusieurs fois le même pays car un pays a généralement plusieurs diplomates. par contre, un diplomate ne travaille généralement que pour un seul pays, et donc chaque diplomate ne sera présent qu'une seule fois dans toute la liste.
la liste relations va contenir l'état des relations entre chaque pays, il faut bien faire attention que pays1, pays2, relation et pays2, pays1, relation, c'est la même chose, et donc, il faut faire bien attention quand on rempli la structure.
donc, chaque pays pourra apparaitre plusieurs fois dans cette liste, mais chaque association entre 2 pays ne pourra apparaitre qu'une seule fois.
etc...
je ne vais pas t'en dire plus, le reste, tu dois essayer de le trouver par toi-même
je reconnais quand même que tout passer en c est assez galère... en gros, tu es en train de recréer un mini système de gestion de bases de données, et tu vas bien t'amuser, avec les pointeurs et autres navigations dans tes listes... je te souhaite bien du plaisir.