Шестиугольник

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, dr.Jekill, MOTOCoder, Medved

Ответить
P1ece
Сообщения: 33
Зарегистрирован: 04 мар 2006, 05:35

04 мар 2006, 05:37

Как сделать что бы функция рисовала шестиугольник из звездочек со стороной, переданной в качестве параметра.
я чета прыгаю прыгаю, а круче треугольника не выходит((( может из треугольников и квадратов смастерить (тогда как сделать что бы выводило три фигуры в строку?) или есть более простой способ?
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

04 мар 2006, 10:31

Язык мучений?
[syntax=Delphi] [/syntax]
P1ece
Сообщения: 33
Зарегистрирован: 04 мар 2006, 05:35

04 мар 2006, 15:42

да нет, не мучений... с++ чтоли. хотя мучений тоже
Аватара пользователя
Oscar
Сообщения: 958
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

04 мар 2006, 21:37

Код: Выделить всё

   * * * *   
  *       *  
 *         * 
*           *
 *         * 
  *       *  
   * * * *   

Из каких звёздочек (символ *, или пятиконечные, ленинские)?

Сторона чего задаётся параметром (звёздочки, шестиугольника)?

Параметр в каких единицах (см, пиксели, колличество символов)?


Три каких фигуры надо? В какую строку?
Это графика, или псевдографика?

P.S. Если треугольники уже получаются, то шестиугольник это ведь 4 треугольника, вот так:

Код: Выделить всё

   * * * *   
  **    ***  
 * *   * * * 
*  *  *  *  *
 * * *   * * 
  ***    **  
   * * * *   
:?
P1ece
Сообщения: 33
Зарегистрирован: 04 мар 2006, 05:35

05 мар 2006, 01:06

нет у меня получаются прямоугольные равносторонние треугольники, но я их незнаю как выводить в одну линию!
да и сурс вырастает в разы, че делать?
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

06 мар 2006, 11:11

а в чекм проблема-то ???
в один цикл все проходишь начиная с вержней строки - если знаешь сторону знаешь насколько пробелов делать смещение и все.
что-то типа
for(int i=0;i<2*storona;i++){
int otstup=abs(i-storona);
char s[100];
s[0]='\0';
for(int j=0;j<otstup;j++)
s[j]=' ';
s[otstup]='\0';
for(int j=otstup;j<2*storona-2-otstup;j++)
s[j]='*';
s[2*storona-otstup]='\0';
printf("%s",s);
}

примерно такое вот в коде получается
В SAD - все в SAD.
P1ece
Сообщения: 33
Зарегистрирован: 04 мар 2006, 05:35

06 мар 2006, 23:10

хм, щас попробую
Ответить