IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

[Quiz] accéder à un élément dans un tableau


Sujet :

C++

  1. #1
    Membre averti
    Avatar de Snack3r
    Homme Profil pro
    Doctorant à l'Université Cheikh Anta Diop de Dakar
    Inscrit en
    Octobre 2013
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Doctorant à l'Université Cheikh Anta Diop de Dakar
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 118
    Points : 444
    Points
    444
    Par défaut [Quiz] accéder à un élément dans un tableau
    Bonjour

    Si vous avez le tableau suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int x[] = { 1, 2, 3, 4 };
    Pourriez-vous citer 8 façon différentes pour accéder au premier élément de x ?

    EDIT : ce n'est pas du tout un exercice à faire mais plutôt un quizz concernant les conventions lexiques en C++ et je connais bien la réponse, la voici.

    Merci à l'avance.
    C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie.

  2. #2
    Membre émérite
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 852
    Points : 2 298
    Points
    2 298
    Par défaut
    J'vois pas d'autres facons de faire...

  3. #3
    Membre averti
    Avatar de Snack3r
    Homme Profil pro
    Doctorant à l'Université Cheikh Anta Diop de Dakar
    Inscrit en
    Octobre 2013
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Doctorant à l'Université Cheikh Anta Diop de Dakar
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 118
    Points : 444
    Points
    444
    Par défaut
    il existe encore 6, je vais les poster plu-tard.
    C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie.

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par snack3r Voir le message
    il existe encore 6
    Bonjour
    Il y a aussi 0[x] mais pour les 5 autres je ne vois pas (ou alors on passe par une autre variable)...

    PS: c'est un exo de C, il n'a rien à faire dans la rubrique C++...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    C'est du C, mais ça ressemble en plus furieusement à une question/exercice de cours.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Membre averti
    Avatar de Snack3r
    Homme Profil pro
    Doctorant à l'Université Cheikh Anta Diop de Dakar
    Inscrit en
    Octobre 2013
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Doctorant à l'Université Cheikh Anta Diop de Dakar
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 118
    Points : 444
    Points
    444
    Par défaut
    Il y a aussi 0[x]
    0[x] et x[0] sont pareils mais parcontre *x et *(x + 0) ne sont pas les mêmes car il existe un Dereference au niveau de la première écriture et Pointer Arithmetic & Dereference au niveau de la deuxième.

    Ensuite, on peut répondre à la question en utilisant l’écriture suivante :
    et de la même manière on peut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cout << *(&(*(&0[x]))) << endl;
    cout << *(&(*(&(*(&0[x]))))) << endl;
    Sinon, avant de répondre à la question, il faut savoir qu'il existe 3 types de symboles.
    D'habitude, on écrit le corps de la fonction main entre deux accolades comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int main()
    {
        // code here
        return 0;
    }
    les {} sont des Primary Token parcequ'il occupent l'espace d'un seule caractère afin de faciliter le travail de l'analyseur syntaxique. mais aussi on peut écrire le code précédant comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int main()
    <%
        // code here
        return 0;
    %>
    les deux symboles <%, %> ne sont pas des macros mais plutôt une autre manière pour écrire les accolades, pour cela on l’appelle Alternate Token.

    Le dernier cas, le compilateur l'autorise mais en remplaçant les symboles avant de faire le preprocessing parceque cette fois-ci les symboles se composent de 3 caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int main()
    ??<
        // code here
        return 0;
    ??>
    ce type de symboles s'appellent Trigraph Sequences, avant de commencer le preprocessing, le compilateur remplace ?? par son équivalant de la table Primary Token.
    Toutes ses informations font partie de Lexical Conventions en C++ et vous pouvez en savoir plus en lisant la partie concernée dans le standard.

    Revenons à notre mouton, les 6 façons restantes sont les suivantes :


    C'est du C, mais ça ressemble en plus furieusement à une question/exercice de cours.
    Je pense bien que vous vous êtes précipités lorsque vous avez dit que c'est du C et aussi lorsque vous avez déplacé le sujet dans un autre forum !!
    C'est la deuxième fois consécutive que je pose un Quizz et que quelqu’un me mette -1, le soupçonnant d’être un exercice de cours même si j'ai bien noté QUIZZ ..
    Je me demande comment éviter de telles équivoques dans l'avenir ??
    C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie.

  7. #7
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    J'ai re-déplacé la discussion au bon endroit

    Sinon pour ma part je ne doute pas de tes intentions, ceci dit oui ça pourrait faire penser à une demande à faire son travail détournée comme nos forumeurs ont souvent l'habitude de voir. Ce n'est pas le cas, je le sais.

    Aussi, je remarque la multiplication de discussions de ce type de ta part. Ce n'est pas une mauvaise chose mais à la limite nous pourrions trouver un support plus adapté et plus profitable aussi bien pour toi que pour les lecteurs : tu pourrais le rédiger sous forme de cours par exemple. Nous avons déjà des liste d'exercices débutants dans d'autres rubriques à l'exemple de celle-ci. Et bien sûr il faudra tenir compte des avis des relecteurs de la rubrique C++ qui jugeront de la pertinence des propositions.

    Si tu le souhaite bien sûr (et tu sais déjà ou poster les propositions d'articles).

    Bien cordialement,
    Idriss

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par snack3r Voir le message
    0[x] et x[0] sont pareils mais parcontre *x et *(x + 0) ne sont pas les mêmes car il existe un Dereference au niveau de la première écriture et Pointer Arithmetic & Dereference au niveau de la deuxième.
    Mouais. Comme celui qui va dire que 1 et 1+0 et 1² ce ne sont pas la même façon de noter le chiffre "1".
    Parce que *(x+0) commence par calculer l'adresse "x+0" puis va chercher *<<adresse en question>> ce qui revient au même que *x.

    Citation Envoyé par snack3r Voir le message
    Ensuite, on peut répondre à la question en utilisant l’écriture suivante :
    et de la même manière on peut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cout << *(&(*(&0[x]))) << endl;
    cout << *(&(*(&(*(&0[x]))))) << endl;
    Là tu exagères. C'est comme celui qui dit "comment je fais pour nommer le dossier /tmp de 3000 façons différentes et qui part sur "/tmp/./../tmp/./." etc etc etc...

    Citation Envoyé par snack3r Voir le message
    C'est la deuxième fois consécutive que je pose un Quizz et que quelqu’un me mette -1, le soupçonnant d’être un exercice de cours même si j'ai bien noté QUIZZ ..
    Je me demande comment éviter de telles équivoques dans l'avenir ??
    Cela n'arrivera plus quand tu auras atteint une certaine notoriété de par tes posts et ta présence...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Désolé mais oui ça avait exactement l'air d'une question de cours. Et comme on sait tous que l'année scolaire a repris, on sait aussi que ça va revenir bientôt avec la "saison des projets étudiants".

    Mouais. Comme celui qui va dire que 1 et 1+0 et 1² ce ne sont pas la même façon de noter le chiffre "1".
    Parce que *(x+0) commence par calculer l'adresse "x+0" puis va chercher *<<adresse en question>> ce qui revient au même que *x.
    Entièrement d'accord, à ce moment-là on peut imaginer une infinité de possibilité d'accéder à x[0].


    Btw, à part l'utilisation de cout dans les exemples d'affichage, en quoi ces codes ne sont pas du C ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  10. #10
    Membre averti
    Avatar de Snack3r
    Homme Profil pro
    Doctorant à l'Université Cheikh Anta Diop de Dakar
    Inscrit en
    Octobre 2013
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Doctorant à l'Université Cheikh Anta Diop de Dakar
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 118
    Points : 444
    Points
    444
    Par défaut
    @ok.Idriss
    Merci, c'est compris.
    Est-ce qu'il y a un nombre minimal d'exercices pour les mettre sous forme d'article ?

    *(x+0) commence par calculer l'adresse "x+0" puis va chercher *<<adresse en question>> ce qui revient au même que *x.
    mais quand même la démarche se diffère comme j'avais dit.

    Là tu exagères. C'est comme celui qui dit "comment je fais pour nommer le dossier /tmp de 3000 façons différentes et qui part sur "/tmp/./../tmp/./." etc etc etc...
    ce n'est pas du tout le cas, car j'ai pas cité cette méthode parmi les 8 méthodes demandées. c’était juste un commentaire secondaire.

    Cela n'arrivera plus quand tu auras atteint une certaine notoriété de par tes posts et ta présence...
    c'est vrai, mais quand même il ne faut pas préjuger les gens même s'ils sont des novices sur le forum.

    ça avait exactement l'air d'une question de cours. Et comme on sait tous que l'année scolaire a repris, on sait aussi que ça va revenir bientôt avec la "saison des projets étudiants".
    je suis étudiant en master2 et bientôt je soutiendrai mon mémoire donc logiquement, je peux pas avoir un exercice comme celui-ci à faire. En plus, j'ai bien précisé que c'est un QUIZZ ...
    C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie.

  11. #11
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par snack3r Voir le message
    0[x] et x[0] sont pareils
    ...
    Revenons à notre mouton, les 6 façons restantes sont les suivantes :
    Hum, tu refuses de différencier x[0] et 0[x] mais tu les mets dans ta solution 15 lignes plus bas. Et juste en dessous tu donnes ensuite x<:0:> et 0<:x:>...

    Citation Envoyé par snack3r Voir le message
    En plus, j'ai bien précisé que c'est un QUIZZ ...
    Si tu savais tout ce qu'on a déjà eu comme soi-disant quizz...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  12. #12
    Membre averti
    Avatar de Snack3r
    Homme Profil pro
    Doctorant à l'Université Cheikh Anta Diop de Dakar
    Inscrit en
    Octobre 2013
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Doctorant à l'Université Cheikh Anta Diop de Dakar
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 118
    Points : 444
    Points
    444
    Par défaut
    Hum, tu refuses de différencier x[0] et 0[x] mais tu les mets dans ta solution 15 lignes plus bas. Et juste en dessous tu donnes ensuite x< :0:> et 0<:>...
    L'utilisation d'Alternate Token est un peu différente car ce n'est pas du macro à remplacer.

    Si tu savais tout ce qu'on a déjà eu comme soi-disant quizz...
    c'est à dire ?
    J'ai pas bien compris.
    C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie.

  13. #13
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Personnellement, je trouve le type de quiz que tu fais trop orienté « sortir par cœur un détail de la norme ».

    Et il manque quelque part un fil directeur à l’exercice : quel était le but de celui-ci ? Présenter les digrammes/trigrammes ? Présenter l’arithmétique de pointeur, les tableaux ? Honnêtement je ne saurais pas le dire.

    Bref, je t’encouragerais plutôt à revoir tes « quiz » en les réfléchissant sous une forme plus proche de :
    - je choisis un concept à présenter
    - je trouve un exercice pertinent par rapport à ce concept (éventuellement, avec un extrait de code et la fameuse question « que fait ce code », plutôt que de demander d’en écrire), éventuellement plusieurs exercices
    - enfin, je mets une solution explicative qui détaille le concept et éventuellement le développe au-delà de l’exercice initial.

    Ça me semble décrire le format des gotw, donc certes, on pourrait penser que c’est un peu pomper, moi j’appelle ça « s’inspirer des bonnes références » .

  14. #14
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Je ne considère pas les trigrammes & cie comme quelques chose de pertinent en 2013 (à part pour poster des codes sur IOCCC). Ils ne sont qu'une autre façon d'écrire certains caractères avec plus de caractères : des sortes de macros codées en dur.
    Déjà l'écriture 0[x] est limite dans la catégorie obfuscation.

    Bref, je ne compte que 4 cas vraiment pertinents à connaitre:
    - x[0]
    - 0[x]
    - *x
    - std::begin(x)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  15. #15
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Luc Hermitte Voir le message
    Je ne considère pas les trigrammes & cie comme quelques chose de pertinent en 2013 (à part pour poster des codes sur IOCCC).
    Ils sont toujours pertinents aux endroits ou ils l'ont été, donc pratiquement nulle part et leur mention n'a rien a faire dans un forum intitulé débuter.

    Déjà l'écriture 0[x] est limite dans la catégorie obfuscation.
    Du cote de la limite ou on ne veut pas aller. De nouveau, rien a faire dans un forum intitulé débuter.

    Bref, je ne compte que 4 cas vraiment pertinents à connaitre:
    - x[0]
    - 0[x]
    - *x
    - std::begin(x)
    *std::begin(x)
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  16. #16
    Membre averti
    Avatar de Snack3r
    Homme Profil pro
    Doctorant à l'Université Cheikh Anta Diop de Dakar
    Inscrit en
    Octobre 2013
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Doctorant à l'Université Cheikh Anta Diop de Dakar
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 118
    Points : 444
    Points
    444
    Par défaut
    Merci à tous pour vos participations.

    => Résolu.
    C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie.

  17. #17
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Luc Hermitte Voir le message
    Déjà l'écriture 0[x] est limite dans la catégorie obfuscation.

    Bref, je ne compte que 4 cas vraiment pertinents à connaitre:
    - x[0]
    - 0[x]
    - *x
    - std::begin(x)
    Encore que 0[x] je l'ai mis "pour faire genre" mais je n'arrive pas à imaginer de cas où ce serait vraiment utile...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] ajout d'élément dans un tableau
    Par maximenet dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2006, 20h24
  2. [dom je pense]accéder à des éléments d un tableau sans id
    Par luta dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 07/02/2006, 15h31
  3. perte d'éléments dans un tableau dans $_SESSION
    Par jibouze dans le forum Langage
    Réponses: 10
    Dernier message: 15/11/2005, 17h01
  4. Compter le nombre d'élément dans un tableau
    Par cryptorchild dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 13h01
  5. [HTML/CSS]désigner un élément dans un tableau de l'extérieur
    Par FrankOVD dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/06/2005, 21h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo