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 :

Dessiner un tableau dans la console


Sujet :

C

  1. #1
    Membre régulier Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Points : 71
    Points
    71
    Par défaut Dessiner un tableau dans la console
    Bonjour à tous,

    J'aimerais dessiner un tableau dans la console MS-DOS.

    Voici ce que donne ma première tentative :



    Vous aurez je pense reconnu le calcul d'un PGCD

    Auriez-vous une méthode pour faire un beau tableau ?
    Merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 81
    Points
    81
    Par défaut
    Moi pour ma part lors d'un mini proj de maths où j'avais besoin d'aligner des éléments tout comme toi, j'ai utilisé le système D à savoir j'avais fait une fonction qui prenait un nombre, et qui renvoyait une chaine de caractères avec uniquement des espaces, proportionnelle à la taille du nombre passé en paramètre ... :p

  3. #3
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    Tu peux utiliser un des spécificateurs de printf : %5d par exemple, pour compléter l'affichage par des espaces, jusqu'à obtenir 5 caractères affichés.

    Voir ici pour plus de spécificateurs: http://www710.univ-lyon1.fr/~rchaine...intf_form.html

    Essaye par exemple le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int i=1; i<10000; i=i*2)
    {
        printf("| %5i | \n", i);
    }
    And still we will be here, standing like statues ...

  4. #4
    Membre régulier Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Points : 71
    Points
    71
    Par défaut
    Ah ok Merci beaucoup pour ton aide ^^

  5. #5
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Le seul problème avec cette méthode, c'est que si tu as un nombre qui fait plus de 5 chiffres, tu auras quand même un décallage.

  6. #6
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    En effet :/

    Mais dans le cas précis de cet algorithme, à priori les nombres ont de moins en moins de chiffres. Tu pourrais donc "calculer" le nombre de chiffres du 1er nombre, et t'en servir comme largeur.

    Par contre, évidemment, comme "%5d" est une chaine de caracères, il faudra la générer à la volée, à l'aide de sprintf par exemple.

    Ce code est entièrement non-testé, mais c'est pour donner une idée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int largeur;         /* nombre de chiffres max  */
    char format[32];     /* format pour printf      */
     
    largeur = calculerLargeur( nombreLePlusGros );   /* à coder  */
    sprintf(format, "| %%%dd | \n", largeur );
     
    /* format devrait contenir une chaine du type:  "| %7d |  \n"   */
     
    for (int i=1; i<10000; i=i*2)
        printf(format, i);
    And still we will be here, standing like statues ...

  7. #7
    Membre régulier Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Points : 71
    Points
    71
    Par défaut
    Ben voici ce que ça me donne :



    Je pense que c'est déjà pas mal

  8. #8
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    C'est déjà beaucoup mieux que ce que tu avais au départ.

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

Discussions similaires

  1. Dessiner un tableau dans un pdf en utilisant le module zend_pdf
    Par smahane dans le forum Zend Framework
    Réponses: 4
    Dernier message: 18/01/2011, 11h18
  2. Dessiner un rectangle dans la console
    Par Akastras dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2010, 15h55
  3. Comment dessiner un tableau dans Quick Report ?
    Par HCN001 dans le forum Débuter
    Réponses: 2
    Dernier message: 19/06/2008, 12h16
  4. Dessiner un tableau dans document PDF
    Par yosraisi dans le forum Autres composants
    Réponses: 8
    Dernier message: 04/03/2008, 17h59
  5. dessiner un tableau dans WORD?
    Par sali dans le forum VBA Word
    Réponses: 2
    Dernier message: 26/01/2005, 14h11

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