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 drapeau avec pgm


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Par défaut dessiner drapeau avec pgm
    Bonjour, le programme ci-dessous créer un drapeau comme le premier fichier joint à ce message, et je dois modifier la fonction pgm_initilaliser_drapeau pour obtenir le deuxieme fichier joint à ce message, pouvez vous m'aider?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    #include <stdlib.h>
    #include <stido.h>
    #include "pgm.h"
     
    #define LARGEUR 150
    #define HAUTEUR 90
     
    #define noir 64
    #define blanc 255
     
    void pgm_initialiser_drapeau(size_t, size_t);
     
    int main(void) {
     
    pgm_creer(LARGEUR, HAUTEUR);
    pgm_initialiser_drapeau(LARGEUR, HAUTEUR);
    pgm_ecrire_image(stdout);
     
    } //main
     
    void pgm_initialiser_drapeau(size_t largeur, size_t hauteur) {
    int i, j, h;
     
      for (i=0; i<LARGEUR; i++)
        for (j=0; j<HAUTEUR; j++)
            if (j<=i) pgm_ecrire_pixel(i, j, blanc);
            else pgm_ecrire_pixel(i, j, noir);
     
    } /* pgm_initialiser_drapeau
    Images attachées Images attachées   

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Et tu bloques ? Il n'y a que la condition if (j <= i) à changer et si tu ne sais pas exprimer une condition, je ne vois vraiment pas comment t'es arrivé à ce programme là !!!

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Par défaut
    bin oui désolé, en fait c'est pas moi qui est codé cet exemple c'est dans un de mes exercices que j'ai troué ça. Il n'y à pas que la condition à changer si? il faut alterner noir et blanc tout les 10px non ? comment coderais tu ça toi?merci de ton aide

  4. #4
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par gégé140488 Voir le message
    Il n'y a pas que la condition à changer si ?
    Si !
    Citation Envoyé par gégé140488 Voir le message
    il faut alterner noir et blanc tout les 10px non ?
    C'est déjà ce que le programme original fait (tantôt noir tantôt blanc, mais pas tous les 10 px dans le sens de la hauteur ...). Il suffit de modifier la condition je te dis, et nul besoin d'être programmeur d'ailleurs pour y arriver :

    Si (i, j) représentent les coordonnées d'un pixel (le pixel du coin supérieur gauche a pour coordonnées (0, 0)), exprime la condition que doivent satisfaire i et j pour que le pixel doit être dessiné en ... noir par exemple. En fait, il n'y a même pas de condition pour i ! Juste pour j !

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Par défaut
    quelque chose comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (j=10; j<=20; j++) pgm_ecrire_pixel(i, j, blanc);
    if (j=30; j<=40; j++) pgm_ecrire_pixel(i, j, blanc);
    if (j=50; j<=60; j++) pgm_ecrire_pixel(i, j, blanc);
    if (j=70; j<=80; j++) pgm_ecrire_pixel(i, j, blanc);
    if (j=80; j<=90; j++) pgm_ecrire_pixel(i, j, blanc);

  6. #6
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Non ! enlève-moi ça . Si ça se trouve, tu n'as jamais écrit la moindre ligne de code C de ta vie alors. Au moins, on voit déjà que t'as voulu écrire si j est compris entre 10 et 20, écrire en blanc et ainsi de suite jusqu'à ... je ne sais pas. C'est juste. Mais, si t'étais plus malin, tu urais tout simplement écrit :

    Si j div 10 est impair, écrire en blanc
    Où j div 10 désigne le quotient de la division euclidienne j / 10. Tu sais au moins ce que c'est qu'un quotient et un reste non ? Et tu sais aussi qu'un nombre impair c'est un nombre dont le reste de sa division par 2 est 1. En langage C, le quotient d'une division s'obtient en utilisant l'opérateur / et le reste en utilisant l'opérateur %. La condition qu'il faut écrire est donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ( (j / 10) % 2 == 1)
        ...

Discussions similaires

  1. dessin vectoriel avec flash
    Par copamato dans le forum Flash
    Réponses: 1
    Dernier message: 23/03/2007, 21h29
  2. Dessin vectoriel avec Java
    Par Rivages dans le forum 2D
    Réponses: 2
    Dernier message: 27/11/2006, 23h18
  3. Dessin vectoriel avec Python
    Par cboudy dans le forum PyQt
    Réponses: 2
    Dernier message: 04/04/2006, 21h38
  4. dessiner String avec saut a la ligne?
    Par felben dans le forum 2D
    Réponses: 8
    Dernier message: 12/01/2006, 18h48
  5. [jsp] dessin static avec données dynamique dessus
    Par njac dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 01/07/2004, 16h24

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