![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 17.05.2009
Сообщений: 15
|
![]()
Разбиваем экран на шесть частей (две строки и три столбца), в каждом из которых строим вложенные квадраты, используя принцип: если оба (строка и столбец) – чётные или нечётные, вращаем по часовой стрелке, если одна (один) чётная, а другая (другой) – нечётная, вращаем против часовой стрелки.
Координаты каждого вложенного квадрата вычисляются по формулам x=x1+u(x2-x1) y=y1+u(y2-y1) -1 <= u <= 1 |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 17.05.2009
Сообщений: 15
|
![]()
помогите пожалуйста решить
|
![]() |
![]() |
![]() |
#3 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
![]()
Я не понял, это просто 6 квадратов должны вращаться?
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 06.01.2009
Сообщений: 72
|
![]()
да, согласен, странное условие...
ася: тристадевяносто 068 ноль восемь шесть
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.05.2009
Сообщений: 15
|
![]()
я сам не вьехал, скажите тогда как квадраты заставить вращаться?
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 17.05.2009
Сообщений: 15
|
![]()
program xd;
uses Graph,crt; const a =100; var gd, gm,i : integer; x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5 ,l,h: integer; procedure linerel (x,y,k: integer); begin {moveto (x+k,y-k); lineto (x+a+k,y+k); lineto (getx-k,y+a+k); lineto (getx-a-k,gety-k); lineto (x+k,y-k)} line(x+k,y-k,x+a+k,y+k); line(x+a+k,y+k,x+a+k,y+a+k); line(x+a+k,y+a+k,x+k,y+a-k); line(x+k,y+a-k,x+k,y-k); end; begin if a<0 then writeln ('Error!') else begin writeln ('Vvedite koordinati levogo verxnego ugla kvadrata:'); write ('x= '); readln (x0); write ('y= '); readln (y0); write ('l= '); readln (l); write ('h= '); readln (h); gd:=detect; gm:=1; initgraph (gd,gm,'egavga.bgi'); readln; for i:=1 to 100 do begin setcolor(14); linerel (x0,y0,i); delay(10000); setcolor(0); linerel (x0,y0,i); end; setcolor(14); linerel (x0+h*l,y0,0); linerel (x0+2*(h*l),y0,0); linerel (x0,y0+h*l,0); linerel (x0+h*l,y0+h*l,0); linerel (x0+2*(h*l),y0+(h*l),0); end; readln; closegraph end. (вот мой вариант) |
![]() |
![]() |
![]() |
#7 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
![]() Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 17.05.2009
Сообщений: 15
|
![]()
мы вручную координаты квадрата задаем
|
![]() |
![]() |
![]() |
#9 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
![]()
А это обязательно делать?
Было бы проще узнать GetMaxX, GetMaxY и по ним рассчитать. Ну вот какие, например, значения вводить? Мне не очевидно. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 17.05.2009
Сообщений: 15
|
![]()
мне бы главное заставить квадрат вращаться, он у меня неправильно вращается
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Graph(Pascal)+текст | rox | Помощь студентам | 4 | 03.05.2009 13:49 |
Pascal. Graph. | Razorishe | Помощь студентам | 6 | 19.03.2009 15:24 |
Помогите плс.Pascal-->модуль graph | Бедный студент | Помощь студентам | 0 | 31.05.2008 01:49 |