Rekursivnaya funkziya
N=4:
*
**
***
****
****
***
**
*
Nel'zya ispol'zovat' zikl no mojno vspomagatel'nuu funkziyu
//вывод строки
void draw_str(int count_star){
if(count_star > 1) draw_str(count_star - 1);
cout<<"*";
}
//вывод строк с увеличением числа звездочек
void draw_p(int N){
draw_str(5 - N); cout<<"\n";
if(5 - N < 4) draw_p(N - 1);
}
//вывод строк с уменьшением числа звездочек
void draw_m(int N){
draw_str(N); cout<<"\n";
if(N > 1) draw_m(N - 1);
}
//сама функция
void draw(int N){
draw_p(N);
draw_m(N);
}
void main(){
draw(4);
}
Алгоритм, конечно, кривовастый, но рабочий:)