salut tout le monde!
est ce qu'on peut m'aider a programmer ce sapin de noel (voir piéce jointe).
la seule chose que je sais, c'est je dois utiliser for
merci d'avance pour votre aide
Version imprimable
salut tout le monde!
est ce qu'on peut m'aider a programmer ce sapin de noel (voir piéce jointe).
la seule chose que je sais, c'est je dois utiliser for
merci d'avance pour votre aide
Est ce que tu vois quelque chose d'itératif dans ton sapin ?
sinon, a vue de nez l'itération c'est n, n+3, n+5 étoile, avec n allant de 0 à m par pas de 3.
desolé, mais j'ai pas compris ce que tu viens de dire.
tu veux dire comme ca ? :
for( i=0; i <= m ; i++){
(et apres quoi? )
l'autre proble qui se pose, c'est que le sapin doit etre symetrique, ca veut dire il doit y avoir une autre boucle qui calcule l'espace laissé avant de dessiner une *
moi je veux pas de réponse, mais je veux juste des idées qui peuvent me donner un coup de pouce. car lá je suis bloqué.
j'ai dessiné un sapin sans tronc et sans guirlandes d'une hauteur h=9.
prenons:
i= i-éme ligne
voilá mes observasions:
dans la premiére ligne l'étoile est dessiné aprés 9 espaces laissé (l'étoile vient dans la 10 éme position).
dans la 2éme ligne la premiére étoile vient aprés (h-1) espaces laissés et le nombre des étoiles dessinés est de (i*2 -1).
dans la 3éme ligne la premiere étoile est dessinés aprés (h-2) espaces laissés et le nombre des étoile est de (i*2 -1).
ce que j'ai constaté c'est que cette régle (i*2 - 1) s'applique seulement sur le premier block (le sommet).
le second block qui commence dans la quatrieme ligne, la on dessine 3 etoiles ce qui n'est pas (4*2 -1).
Jai,
Ben oui.
Donc le sapin va être dessiné en 2 blocs séparés : parties haute et basse.
Et la partie basse elle-même sera probablement divisée en 2 parties : celle avec les guirlandes + début du tronc, et la fin du tronc.
Voilà. Tu vois qu'en s'appliquant on trouve. :)
Je ne vois pas ce que la question fait dans un forum Java. C'est une question sur une suite mathématique, voire un peu d'algo.
Essaie avec i * i - i + 1 + 2 * i * j où i va de 1 à 5 et j de 0 à 2.
Sinon, le forum algorithmes aurait été plus adapté.
La seule chose qu'on semble pouvoir généraliser c'est le haut du sapin. Comme ça a été dit, il s'agit de 2 suites. Pour le bas du sapin, on n'a pas assez d'info pour généraliser.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 String sapin(int a) { CenteredStringBuffer sb = new CenteredStringBuffer(80); int base=1, step=1; for(int i=1;i<=a;i++) { for(int j=0;j<=2;j++) { int length=base+2*j*step; sb.append(Text.repeat('*',length)).append("\n"); } base=base+2*step; step++; } return sb.toString(); }
Je laisse au lecteur le soin d'écrire les classes CenteredStringBuffer et Text. :D
Cette semaine, les sapins de Noël sont soldés à moitié prix.
Jean-Marc Blanc