Slt à tous
je dois realiser un premier triangle avec une hauteur de 5 étoiles (*) et une base de 9 étoiles
Puis un deuxieme triangle avec les meme dimensions mais vide à l'intérieur
merci d'avance de votre aide
Slt à tous
je dois realiser un premier triangle avec une hauteur de 5 étoiles (*) et une base de 9 étoiles
Puis un deuxieme triangle avec les meme dimensions mais vide à l'intérieur
merci d'avance de votre aide
bien le bonsoir,
qu'est-ce qui te pose problème ? l'algo ? l'implémentation en c++ ?
qu'as-tu déjà fait ?
Il suffit de faire deux boucles imbriquées.
Boost ftw
Bonjour,
Je réponds dans le cadre de triangles à dimensions quelconques. Car si les dimensions du triangle sont fixes et définies à l'avance, le problème ne se pose pas : il suffit de prendre Paint et de dessiner le triange avec le zoom, puis de remplacer les Pixels noirs par des étoiles dans le bloc note. Ensuite on demande à la fonction d'afficher les chaines de caractère constantes correspondantes.
Supposons plutôt un triangle dont les dimensions sont passées en paramètres de la fonction ;
Que ce soit avec des étoiles en mode texte, ou avec des pixels dans une bitmap de jeu vidéo, tracer un triangle plein ou vide (dont la hauteur diffère de la largeur) nécessite de mettre en oeuvre l'algorithme de tracé de ligne, puis à partir de ça l'algorithme de tracé de polygones 2D. Bref c'est un problème très connu des programmeurs des (anciennes) stations graphiques et maintenant des cartes video.
Tu trouveras toutes les infos dans l'excellent ouvrage du Maître en la matière :
Zen de la programmation graphique 2iè édition
2e éd (19 Mar 1997)
Michael Abrash
International Thomson publishing France
ISBN: 2841801438
C'est un sujet réellement compliqué, beaucoup plus qu'il n'y parait c'est pour ça que je te renvoie au livre. Pour t'en convaincre, si tu dois tracer une simple ligne de 10 pixels de large par 3 de haut, voilà ce que ça donnerait :
***
.....****
............***
Il faut 3 "exécutions" (selon le terme consacré) dont la longueur se situe entre ENT(10/3) = 3 et ENT(10/3)+1 = 4. Ici le plus adapté est 3-4-3...
C'est l'algorithme qui détermine cela, et se charge du tracé. Cela ne concerne que UNE ligne. Or dans ton cas, il te faut délimiter 3 lignes, avec ses "exécutions", puis remplir les espaces entre.
Ou plus exactement, remplir l'écran de pixels ou d'étoiles, du début de l'exécution de la ligne de gauche à la fin de l'exécution de la ligne de droite, ce à chaque ligne de balayage horizontale du triangle. Tout est expliqué dans l'ouvrage
En tout cas bon courage
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager