dessiner un triangle - Programmation
Marsh Posté le 22-11-2001 à 12:34:14
uns simple triangle isocèle? quand en plus on te donne déja la taille de M et N et que tu est sur que M est impaire, je vois vraiment pas ce qu'il y a de compliqué. 
 
A moins que ce soit autre chose que tu ne veuilles. 
Marsh Posté le 22-11-2001 à 13:05:18
Le devoir de samedi, ce sera peut-être pour dessiner un sapin de noël par la même méthode ...  
 
Marsh Posté le 22-11-2001 à 14:22:30
| Code : 
 | 
 
 
Voila j'ai fait un sapin de noel (à la main c'est plus rapide que de faire le programme complet !!! 
[edtdd]--Message édité par darkoli--[/edtdd]
Marsh Posté le 22-11-2001 à 16:03:11
en fait, on doit dessiner un triangle a base de * . 
on doit y incorporer une fonction. mais je n ai qu'1 petit mois de prog derriere moi. J ai essayé de penser à un truc a base de boucle for mais  c est plus que foireux. 
HELP   
 
Marsh Posté le 22-11-2001 à 16:23:34
| mordicus340 a écrit a écrit  : en fait, on doit dessiner un triangle a base de * . on doit y incorporer une fonction. mais je n ai qu'1 petit mois de prog derriere moi. J ai essayé de penser à un truc a base de boucle for mais c est plus que foireux. HELP   | 
he bien ... 
 
* écris nous l'énoncé 
* écris nous ce à quoi tu penses pour le résoudre 
Marsh Posté le 22-11-2001 à 16:35:40
énoncé du pb : "dessines-moi un mouton"
Marsh Posté le 22-11-2001 à 17:32:09
Fait à la vas vite... On part du bas et on remonte : 
 
/* version standard */ 
/* remplissage auto d'un tableau de char[]  en dessinant un triangle*/ 
 
/* parametre d'entrée : hauteur */ 
  int hauteur=8; 
 
 
 
  int largeur=2* hauteur -1; 
 
  char *tableau = new char[hauteur*largeur]; 
 
  memset(tableau,(int)' ',hauteur*largeur); 
 
  int tableau_depart_x=0; 
 
  int tableau_fin_x=largeur; 
 
  for(int l=hauteur;l>0;l--) 
  { 
 
   for(int k = tableau_depart_x;k < tableau_fin_x;k++) 
   { 
    tableau[l*largeur + k]='*'; 
   } 
 
   tableau_depart_x++; 
   tableau_fin_x--; 
  } 
 
/* version plus rapide */ 
 
  int larg_triangle = largeur; 
  for(int l=hauteur;l>0;l--) 
  { 
   memset(tableau + l*largeur + tableau_depart_x,(int)'*',larg_triangle); 
   if (larg_triangle>1) larg_triangle-=2; 
   else     larg_triangle=1; 
   tableau_depart_x++; 
  } 
*/ 
 
YA PU K 
Marsh Posté le 22-11-2001 à 18:32:48
bha tu peux utiliser l'algo de bresenham pour faire un truc propre en dessinant chaque segment puis algo de balayage.
Marsh Posté le 22-11-2001 à 19:01:46
voila une solution: 
#include <iostream.h> 
 
const int longueur=10; //longueur du tringle 
void dessineligne(int ); 
 
void main() 
{ 
int i; 
for (i=0;i<longueur;i++) 
{ 
   dessineligne(i); 
} 
} 
 
void dessineligne(int i) 
{ 
int j; 
for (j=0;j<longueur-i;i++) 
{ 
   cout << ' '; 
} 
for {j=0;j<i+1;j++) 
{ 
  cout << '*'; 
} 
cout << endl; 
} 
 
 
voila g pas verifier mais a mon avis ca devrai marcher 
Marsh Posté le 23-11-2001 à 08:30:30
c tres sympa a vous tous mais je n ai pas encore vu les commande memset, cout , endl et je ne connais que 3 librairies : stdio.h, conio.h et math.h .... 
je vous donne le corriger jeudi ! 
Marsh Posté le 23-11-2001 à 09:17:15
Ben quand tu trouves une fonction generalement on te dit sous quel OS elle marche, quels sont les lib a inclure eventuellement, les *.h, etc...
Marsh Posté le 22-11-2001 à 12:11:00
comment feriez vous un programme en C pour dessiner un triangle :
*
***
*****
*******
en utilisant un tableau type matrice (tab[N][M] , où N est le nbre de ligne et M le nombre de colonnes). on a aussi M=2N-1.
help !!
le prof veut qu on utilise une fonction ...
help !! g devoir samedi et y aura un truc du genre.