Консультация № 31315
12.12.2005, 12:12
0.00 руб.
0 3 3
Помогите решить задачу по Си. Нарисовать звезду при помощи
звёздочек умножения (*), при помощи printf? сверху вниз.

Обсуждение

Неизвестный
12.12.2005, 12:40
общий
это ответ
Здравствуйте, Лыткин А. В.!
Такую что ли? Это ж элементарно ....

Приложение:
#include <stdio.h>int main() { printf("\n *\n"); printf(" * * *\n"); printf(" * * * \n"); printf(" *\n"); printf(" * * *\n"); printf(" * * *\n"); printf(" *\n"); return 0;}
Неизвестный
12.12.2005, 18:56
общий
это ответ
Здравствуйте, Лыткин А. В.!

Звезду какого размера?
Для маленьких "объёмов" вам ответили. Для большой звезды - легче создать массив равный размеру экрана в символах, и выводить массив на печать. Тогда можно звезду еще и покрутить будет. :)
Неизвестный
12.12.2005, 21:13
общий
это ответ
Здравствуйте, Лыткин А. В.!
Вот смотри.
Работает для нечетного N
#include <stdio.h>
#define N 31
int main () {
int i, j;
i = 0;
while (i < N/2 ) {
for (j = 0; j < i; j++)
printf (" ");
printf ("*");
j++;
for (; j < N/2 ; j++)
printf (" ");
printf ("*");
j++;
for (; j < N - i - 1; j++)
printf (" ");
printf ("*");
j++;
for (; j < N; j++)
printf (" ");
printf ("\n");
i++;
}
for (j = 0; j < N; j++)
printf ("*");
printf ("\n");
i++;

while (i < N ) {
for (j = 0; j < N - i - 1; j++)
printf (" ");
printf ("*");
j++;
for (; j < N/2 ; j++)
printf (" ");
printf ("*");
j++;
for (; j < i ; j++)
printf (" ");
printf ("*");
j++;
for (; j < N; j++)
printf (" ");
printf ("\n");
i++;
}
}
Форма ответа