Pień do choinki z gwiazdek ASCII

Pień do choinki z gwiazdek ASCII
KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
1

Zrobiłem program który miał stworzyć choinkę z gwiazdek *

Kopiuj
#include <iostream>
using namespace std;
int main() {
	int h;
     cout << "Podaj wysokość CHOINKI ";
    cin>>h;
    for (int i=0; i< h; ++i){
    	
	    for(int j=0;j<h-i;++j)
	    {
	        cout<<" ";
	    }    	
	    for(int k=0;k<=i*2;++k)
	    {
	        cout<<"*";
	    }
	    cout << endl;
	    
    }

    return 0;
}

I powstaje taka piramida;

Kopiuj
Podaj wysokość CHOINKI 9
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
 -----------------------------------------------

ale nie wiem jak zrobić pień z ||

Coś takiego;

Kopiuj
 Podaj wysokość CHOINKI 9
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
         ||
MasterBLB
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1454
0

Zauważ Bracie, że choinka powiększa się o 2 z każdym poziomem. Zatem wzór na miejsce gdzie zacząć rysować pieniek to:

Kopiuj
int trunkIndex = height;//można dać jeszcze -1 jak chcesz mieć pieniek bardziej na lewo

Dalej już sobie powinieneś sam poradzić.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
for(int j=2;j<h;++j) cout<<' ';
cout<<"| |";
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
MasterBLB napisał(a):

int trunkIndex = height;//można dać jeszcze -1 jak chcesz mieć pieniek bardziej na lewo

Kopiuj

dla int trunkIndex = height; dostaniesz:

Kopiuj
height: 1
*
 ||

height: 2
 *
***
  ||
IT
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 261
0

nie lepiej zacząć rysować ostatnia (najniższa) linie whitespace’ami o długości poprzednia linia + 2 i w 2 indeksach najbliżej połowy tej linii zamienić whitespace na |?
Edit: indeksy dla | to środek -1 i środek +1.
Długość linii 10, indeksy dla | to 4 i 6.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.