2012-09-02 4 views
0

Donc, fondamentalement, je dois faire ce modèle en utilisant pour-boucles:C++ pour boucles d'afficher un motif

* 
** 
*** 
**** 
***** 
****** 
******* 
******** 
********* 
********** 
********** 
********* 
******** 
******* 
****** 
***** 
**** 
*** 
** 
* 

two blank lines 

    ********** 
    ********* 
    ******** 
     ******* 
     ****** 
     ***** 
     **** 
      *** 
      ** 
      * 
Two blank lines 
      * 
      ** 
      *** 
     **** 
     ***** 
     ****** 
     ******* 
    ******** 
    ********* 
    ********** 

Je ne suis pas trop sûr si je dois définir * comme une variable. Je sais que je dois utiliser des incréments et des décréments pour que cela se produise et que je doive également utiliser la justification pour l'aligner correctement. Des commentaires et de l'aide seraient grandement appréciés. Merci!

+2

Qu'avez-vous essayé? (Et je vous écris pour avoir brisé un silence de deux semaines à partir de "comment imprimer ce modèle" questions!) –

+0

Postez votre code! Au fait, '*' n'est qu'un caractère ... –

+0

Si vous n'avez encore aucun code, pensez au nombre de boucles imbriquées dont vous avez besoin pour cela. –

Répondre

-1

Pour la première forme:

int one=1; 
boolean doit=true; 
int counter=0; 

while(doit) 
{ 
    printf("\n"); 
    counter+=one; 
    for(int i=0;i<counter;i++) 
    { 
     printf("*"); 
    } 
    if(counter>maxi) 
    { 
     printf("\n"); 
     for(int i=0;i<counter;i++)printf("*"); 
     one=-one; 
    } 
    if(counter==0)doit=false; 

} 
+6

C'est devoirs, s'il vous plaît ne pas afficher (travailler pleinement) le code ... –

+0

aurions-nous à définir maxi = 10? –

+0

C'est pourquoi je poste juste la première partie;) –

1

Ce genre de problème sont pour vous apprendre comment diviser un problème en plus petit pour créer un code qui peut être réutilisé pour plusieurs motifs.

Par exemple, vous pouvez écrire une fonction qui imprime une ligne

void PrintLine(int length) 

Et vous voulez probablement indiquer si vous souhaitez que la ligne à gauche ou à droite

void PrintLine(int length, bool left) 

Ensuite, tout ce qui reste est de rendre la condition de bouclage spécifique à la forme que vous essayez d'afficher.

+0

Je pense que c'est un bon début, mais vous voudrez peut-être ajouter quelques références à 'cout', des boucles ou des choses de base similaires qui aident le questionneur à résoudre son problème. – phimuemue

+0

Je suppose qu'il est au moins appris les bases de la langue et ce qu'il a des problèmes avec la logique. – VoidStar