Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Albero di Natale funzionante
Forum - C/C++ - Albero di Natale funzionante

Avatar
Mark (Normal User)
Newbie


Messaggi: 6
Iscritto: 13/01/2007

Segnala al moderatore
Postato alle 16:04
Domenica, 11/02/2007
Una buona domenica a tutti.
Il mio problema è il seguente: Realizzare un programma in C++ che disegni la chioma di un albero di Natale avendo in input il numero di righe che costituiscono la chioma.

Ho parzialmente risolto il problema con il seguente codice:
Codice sorgente - presumibilmente C++

  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void stampaSpazi(int numero){
  7.   for(int k=numero-1; k>0; k--)
  8.             cout << ' ';
  9.             }
  10.  
  11. void stampaAst(int numero){
  12.   for(int k=numero; k>0; k--)
  13.             cout << "*";
  14.             }
  15.            
  16. void stampa(int numero){
  17.            stampaSpazi(numero);
  18.            stampaAst(numero);
  19.            cout << endl;
  20.             }
  21.            
  22. int main(int argc, char *argv[])
  23. {
  24.     int numerorighe;
  25.     cout << "Inserisci numero di righe della chioma: ";
  26.     cin >> numerorighe;
  27.    
  28.     for(int num=numerorighe; num>=1; num--)
  29.     stampa(num);        
  30.  
  31.     system("PAUSE");
  32.     return EXIT_SUCCESS;
  33. }



'''*
''***
'*****

Dopo aver stampato correttamente gli spazi tramite la funzione stampaSpazi, gli asterischi vengono stampati alla rovescia...
Qualcuno mi può aiutare a ribaltare gli asterischi stampandone uno in più per riga avendo così il corretto output schematizzato tramite il disegnino??
Grazie in anticipo...

PM Quote
Avatar
andry89mm (Member)
Pro


Messaggi: 128
Iscritto: 21/12/2006

Segnala al moderatore
Postato alle 19:49
Giovedì, 15/02/2007
Io ,sulla base del tuo algoritmo e modificando il meno possibile ho fatto cosi:

Codice sorgente - presumibilmente C++

  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void stampaAst(int numero){
  7. for(int k=numero; k>0; k--)
  8. cout << "*";
  9. }
  10.  
  11. void stampa(int numero){
  12. stampaAst(numero);
  13. cout << endl;
  14. }
  15.  
  16. int main(int argc, char *argv[])
  17. {
  18. int numerorighe;
  19. cout << "Inserisci numero di righe della chioma: ";
  20. cin >> numerorighe;
  21. int i=1;
  22. for(int num=numerorighe; num>=1; num--)
  23. {
  24. stampa(i);
  25. i++;
  26. }
  27. system("PAUSE");
  28. return EXIT_SUCCESS;
  29. }



Ovviamente ora non ha neanche più senso la funzione : void stampa(int numero);

:k:

edit by netarrow: usare le formattazioni e i tag del forum facilitano la lettura, inoltre quotare un testo lungo immediatamente sopra al proprio post è ridondante, ho snellito un pò.

Ultima modifica effettuata da netarrow il 17/02/2007 alle 17:12
PM Quote