[C TD4] La ronde de l'empereur Exterminus

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [C TD4] La ronde de l'empereur Exterminus

Message  Terminatour le Dim 24 Oct 2010, 20:07

Bonsoir,

J'ai quelques difficultées concernant la résolution du problème posé par ce chers Exterminus ! Smile


AFile * rondeExterminus ( unsigned nbInvites, unsigned pas)

La fonction alloue une file d'attente (voir exercice précédent) pour y placer, au fur et à
mesure des éliminations, le numéro de tabouret de l'éliminé. Le dernier numéro mis
dans la file sera celui du survivant. L'utilisateur de cette fonction aura la responsabilité
de la libération de la file, après en avoir exploité les informations.

J'ai quelques soucis déjà pour la compréhension de l'énoncé.

Corriger moi si j'ai tord:
nbInvites désigne le nombre d'invités.
pas désigne le nombre de graines.
A l'aide de code je détermine le premier tué que je mets en première position de ma Afile.
(exemple: si l'invité qui est mort porte le numéro 20 par rapport au nombre d'invités, cela veut dire qu'il est assis au tabouret 20 et que la valeur du BMaillon sera 20 à la première position de la AFile).
Ainsi de suite et enfin je renvoie le tout par un magnifique return


Mon second problème est la compréhension de ce détail:
où a est un pointeur de BMaillon

* a = b; /* je modifie la valeur du pointeur de a */
a = & b; /* je modifie l'adresse de vers quoi pointe le pointeur de a */
a = b; /* kezako ? */


Dernière édition par Terminatour le Mar 26 Oct 2010, 14:05, édité 1 fois

Terminatour

Nombre de messages : 344
Age : 25
Prénom : Louis-Julien
Statut : statutaire
Localisation : localisée
Date d'inscription : 04/10/2009

Revenir en haut Aller en bas

resolu Re: [C TD4] La ronde de l'empereur Exterminus

Message  smb le Dim 24 Oct 2010, 20:18

Terminatour a écrit:

J'ai quelques soucis déjà pour la compréhension de l'énoncé.

Corriger moi si j'ai tord:
nbInvites désigne le nombre d'invités.
pas désigne le nombre de graines.
A l'aide de code je détermine le premier tué que je mets en première position de ma Afile.
(exemple: si l'invité qui est mort porte le numéro 20 par rapport au nombre d'invités, cela veut dire qu'il est assis au tabouret 20 et que la valeur du BMaillon sera 20 à la première position de la AFile).
Ainsi de suite et enfin je renvoie le tout par un magnifique return

Exact. Je dépose dès à présent un exemple de résultats dans TD_C4 sur poESI

Terminatour a écrit:
Mon second problème est la compréhension de ce détail:
où a est un pointeur de BMaillon

* a = b; /* je modifie la valeur du pointeur de a */
a = & b; /* je modifie l'adresse de vers quoi pointe le pointeur de a */
a = b; /* kezako ? */

Et b, c'est quoi ?
Un pointeur de BMaillon ?




smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

resolu Re: [C TD4] La ronde de l'empereur Exterminus

Message  Terminatour le Dim 24 Oct 2010, 20:20

tout à fait, j'aurai du le préciser dès le départ

Terminatour

Nombre de messages : 344
Age : 25
Prénom : Louis-Julien
Statut : statutaire
Localisation : localisée
Date d'inscription : 04/10/2009

Revenir en haut Aller en bas

resolu Re: [C TD4] La ronde de l'empereur Exterminus

Message  smb le Dim 24 Oct 2010, 20:28

Terminatour a écrit:tout à fait, j'aurai du le préciser dès le départ

Alors je ne comprends pas ce que tu veux faire !

*a=b; est une erreur car tu ne peux pas affecter à un BMaillon (*a) un pointeur de BMaillon (b)

a= &b; est une erreur car tu ne peux pas affecter à un pointeur de BMaillon (a) l'adresse d'un pointeur de BMaillon (&b)

a=b; est une assignation correcte mais on ne sait toujours pas ce que tu veux faire !

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

resolu Re: [C TD4] La ronde de l'empereur Exterminus

Message  Terminatour le Dim 24 Oct 2010, 21:08

c'était un problème de compréhension, je comprenais pas pourquoi a = b marchais et pas les autres.
Votre explication me suffit amplement.

Merci et bonne soirée,
à mardi

Terminatour

Nombre de messages : 344
Age : 25
Prénom : Louis-Julien
Statut : statutaire
Localisation : localisée
Date d'inscription : 04/10/2009

Revenir en haut Aller en bas

resolu Re: [C TD4] La ronde de l'empereur Exterminus

Message  L@rgo_XIII le Lun 25 Oct 2010, 16:43

J'aurais une question de compréhension également au sujet de la Ronde de l'Empereur Exterminus.

La fonction que nous devons coder, ne doit en fait que renvoyer une file dans laquelle l'ordre des maillons est déterminé par l'ordre d'élimination.
Ne voyant pas l'intérêt que cette liste soit circulaire, j'en déduis donc que c'est la liste que nous utiliserons "en interne" qui doit être circulaire.

Est-ce que je me trompe ?

Lionel




Dernière édition par L@rgo_XIII le Mer 27 Oct 2010, 12:44, édité 1 fois

L@rgo_XIII

Nombre de messages : 80
Age : 30
Prénom : Lionel
Statut : Etudiant en 3e année Réseau & Télécommunicatio
Localisation : Uccle
Date d'inscription : 20/09/2010

http://largoxiii.wordpress.com

Revenir en haut Aller en bas

resolu Re: [C TD4] La ronde de l'empereur Exterminus

Message  smb le Lun 25 Oct 2010, 18:11

L@rgo_XIII a écrit:J'aurais une question de compréhension également au sujet de la Ronde de l'Empereur Exterminus.

La fonction que nous devons codé, ne doit en fait que renvoyer une file dans laquelle l'ordre des maillons est déterminé par l'ordre d'élimination.
Ne voyant pas l'intérêt que cette liste soit circulaire, j'en déduis donc que c'est la liste que nous utiliserons "en interne" qui doit être circulaire.

Est-ce que je me trompe ?

Lionel


Tu as tout à fait raison ! Il y a en fait 2 structures à gérer :
1) la liste circulaire qui permet de simuler parfaitement la table et les tabourets, l'empereur étant en quelque sorte l'itérateur sur cette liste circulaire;
2) la file d'attente qui comme tu le dis très bien contient la chronologie des numéros des tabourets éliminés (le dernier de la file étant donc le numéro du tabouret du survivant).

Belle analyse cher L@rgo_XIII cheers

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

resolu Re: [C TD4] La ronde de l'empereur Exterminus

Message  L@rgo_XIII le Mer 27 Oct 2010, 12:42

Merci beaucoup pour votre réponse.
Je préfère toujours partir sur de bonne base en ayant bien compris l'énoncé avant de me lancer dans l'implémentation et ses joyeusetés Cool

L@rgo_XIII

Nombre de messages : 80
Age : 30
Prénom : Lionel
Statut : Etudiant en 3e année Réseau & Télécommunicatio
Localisation : Uccle
Date d'inscription : 20/09/2010

http://largoxiii.wordpress.com

Revenir en haut Aller en bas

resolu Re: [C TD4] La ronde de l'empereur Exterminus

Message  Contenu sponsorisé Aujourd'hui à 18:55


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum