Нарисовать симметричную елку из звездочек - C (СИ)
Формулировка задачи:
[B][B] Помогите, пожалуйста! Очень нужно нарисовать симметричную елку из звездочек.
*
**
***
$***$
******
$*****$
********
а у меня получается только половина и без долларов. Заранее благодарю за помощь!
вот код:
#include <windows.h>
#include <iostream>
using namespace std;
int main(void)
{
SetConsoleOutputCP(1251);
int Y, j, i, x;
cout<<"\tВведите ширину елки ";
cin>>Y;
for (i=3; i<=Y; i++)
for (j=0; j<i; j++)
{
for(int z=0; z<=j; z++)
cout<<"*";
cout<<"\n";
}
cout<<"\n";
}Решение задачи: «Нарисовать симметричную елку из звездочек»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
int i,j,l,r,m,p;
printf("\n");
printf("\nHappy New Year!!!");
printf("\n\n");
for(i=3; i<=5; i++) {
for (j=0; j<i; j++) {
for (m=i-j; m>1; m--) {
printf(" ");
}
if(i == 3) {
printf(" ");
}
else if(i == 4) {
printf(" ");
}
else if(i == 5) {
printf("");
}
for (l=0; l<=j; l++) {
p=l-1;
printf("*");
for (r=0; r<=p-j; r++) {
printf("*");
}
}
for (l=1; l<=j; l++) {
p=l-1;
printf("*");
for (r=1; r<=p-j; r++) {
printf("*");
}
}
printf("\n");
}
}
}
Объяснение кода листинга программы
Код рисует симметричную елку из звездочек.
- В начале программы объявляются переменные i, j, l, r, m, p типа int.
- Затем выводится новый год поздравление.
- Далее в цикле for перебираются значения от 3 до 5 для переменной i.
- Внутри цикла для каждого значения i выводится звездочка, а затем в цикле for перебираются значения от 0 до j, и выводится столько звездочек, сколько равно текущему значению j.
- После этого в цикле for перебираются значения от 1 до j, и выводится столько звездочек, сколько равно текущему значению j.
- В конце выводится символ новой строки.
- По завершении цикла for для переменной i выводится символ новой строки.
- После завершения цикла for для переменной i выводится символ новой строки.