3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 47
1

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

27.04.2010, 18:26. Показов 1364. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый вечер! Помогите пожалуйста кто-нибудь разобраться с решением задачи в паскале, никак не получается сделать.

Вот условие:
Нарисовать шестиугольную доску со стороной из трех правильных шестиугольников. Разрисовать доску тремя стилями.

Спасибо за помощь
Миниатюры
Шестиугольная доска  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2010, 18:26
Ответы с готовыми решениями:

Шахматная доска
На шахматной доске стоят слон и конь,причём так,что слон не нападает на коня. На вход программы...

Шахматная доска
Как её реализовать в Паскале? Поле шахматной доски определяетс парой натуральных чисел,каждое из...

Шахматная доска
Задается шахматная доска NxM. Нужно вывести максимальное количество ферзей, которых можно...

Шахматная доска.
Написать программу, которая выводит на экран изображение шахматной доски.

2
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
27.04.2010, 20:44 2
Лучший ответ Сообщение было отмечено Quatroom как решение

Решение

Вот в принципе нарисовал, а цвет и стиль сами подбирайте, на картинке трудно понять, тем более вертикальной штриховки нет в стандартном наборе, нужно самому писать.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
uses crt,graph;
var p:array[1..7] of PointType;
    gd,gm,xc,yc,r,t,x,y,i:integer;
    d:real;
procedure Poly(x,y,r:integer);
var a,i:integer;
begin
a:=-30;
for i:=1 to 6 do
 begin
  p[i].x:=x+round(r*cos(a*pi/180));
  p[i].y:=y-round(r*sin(a*pi/180));
  a:=a+60;
 end;
p[7].x:=p[1].x;
p[7].y:=p[1].y;
MoveTo(p[1].x,p[1].y);
for i:=1 to 7 do
LineTo(p[i].x,p[i].y);
end;
 
begin
gd:=0;
InitGraph(gd,gm,'');
setbkcolor(7);
xc:=getmaxX div 2;
yc:=getmaxY div 2;
r:=25;
d:=r*sin(pi/3);
setcolor(1);
setfillstyle(9,1);
Poly(xc,yc,r);
fillpoly(7,p);
t:=30;
for i:=1 to 6 do
 begin
  t:=t+60;
  x:=xc+round(3*r*cos(t*pi/180));
  y:=yc-round(3*r*sin(t*pi/180));
  Poly(x,y,r);
  fillpoly(7,p);
 end;
t:=0;
for i:=1 to 6 do
 begin
  t:=t+60;
  x:=xc+round(4*d*cos(t*pi/180));
  y:=yc-round(4*d*sin(t*pi/180));
  if odd(i) then
   begin
    setcolor(9);
    setfillstyle(10,9);
   end
  else
   begin
    setcolor(11);
    setfillstyle(11,11);
   end;
  Poly(x,y,r);
  fillpoly(7,p);
 end;
t:=0;
for i:=1 to 6 do
 begin
  t:=t+60;
  x:=xc+round(2*d*cos(t*pi/180));
  y:=yc-round(2*d*sin(t*pi/180));
  if odd(i) then
   begin
    setcolor(11);
    setfillstyle(11,11);
   end
  else
   begin
    setcolor(9);
    setfillstyle(10,9);
   end;
  Poly(x,y,r);
  fillpoly(7,p);
 end;
readln
end.
1
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 47
27.04.2010, 21:40  [ТС] 3
Огромное спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2010, 21:40
Помогаю со студенческими работами здесь

Шахматная доска
Шахматную доску будем представлять в виде квадратного символьного массива размером 8х8. Даны...

Шахматная доска циклом
Помогите пожалуйста нарисовать шахматную доску в паскале,с помощью цикла. Только нужно не в...

Графика, шахматная доска
Помогите!!! мне нужно нарисовать шахматную доску и залить цветом чёрным и белым я не знаю как...

пара задачек : физическая и шахматная доска
помогите пожалуйста решить эти задачи... 1.Чапаеву надо под прямым углом к фарватеру...

Шахматная доска
Пусть на шахматной доске заданы два поля: p1 и p2. Определите, какая из шахматных фигур при...

Шахматная доска
Из шахматной доски по границам клеток выпилили связную (не распадающуюся на части) фигуру без дыр....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru