Witam. Dostałem za zadanie zrobić choinkę w której muszę wskazać wysokość pierwszego poziomu i ilość poziomów i musi ona wyglądać jak ta na obrazku dla takich danych.
Napisałem kod i niestety mam problem z poziomami, mianowicie po podaniu x=2 i y=3 drugi poziom powinien mieć trzy "X", kolejny 5 a potem 7 u mnie niestety jest inaczej i wygląda to tak:
Potrzebuję identycznej choinki żeby zaliczyć zadanie. Jest ktoś w stanie pomóc?
Oto mój kod:
#include <iostream>
using namespace std;
void poziomy(int f, int n, int s)
{
int i, j, k = 2 * s - 2;
for (i = 0; i < f + 1; i++)
k--;
for (i = f ; i < n; i++)
{
for (j = 0; j < k; j++)
{
cout << (" ");
}
k = k - 1;
for (j = 0; j < i ; j++)
{
cout << ("X ");
}
cout << ("\n");
}
}
void choinka(int h, int wysokosc)
{
int a = wysokosc + h + 1;
int start = 1, stop = 1, x = wysokosc;
while (stop < a - 1)
{
stop = start + x;
poziomy(start, stop, a);
x++;
start = 1;
}
}
int main()
{
int liczba_poziomow;
int wysokosc;
cout << ("x = ");
cin >> (wysokosc);
if(wysokosc >0)
{
cout << ("y = ");
cin >> (liczba_poziomow);
if (liczba_poziomow>0)
{
choinka(liczba_poziomow, wysokosc);
}
else
{
cout << "Liczba \"y\" powinna byc wieksza od 0!";
}
}
else
{
cout << "Liczba \"x\" powinna byc wieksza od 0!";
}
return 0;
}