Елка из "*" на языке си.Каждая 5-ая "*" заменяется на игрушку "о"
Пытаюсь добавить в елку игрушки, а именно в каждый 5-ый элемент. Пробывал сделать таким образом, но так игрушка ставится в каждый 5-ый элемент строки, а мне нужно вместо каждой 5-ой "*" вобщем.
Код:
int i,k,j;
for(i=1;i<=7;i++)
{
for(k=i;k<=20;k++)
printf(" ");
for(j=1;j<+2*i;j++)
{
if (j%5==0) {
printf("o");
}
else{
printf("*");
}
}
printf("\n");
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
Лучше решать задачи обобщенно.
Например, так:
int main() {
const int HEIGHT = 15;
const int OFFSET = 20;
const int FREQ = 5;
for (int count = 0, i = 0; i < HEIGHT; ++i) {
for (int j = 0; j < OFFSET - i; ++j)
putchar(' ');
for (int j = 0; j < 2 * i + 1; ++j)
putchar(count++ % FREQ ? '*' : 'o');
puts("");
}
}