Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2008, 20:53   #1
Morrigan13
 
Аватар для Morrigan13
 
Регистрация: 28.03.2008
Сообщений: 8
Печаль Средства графики Borland Pascal

Здравствуйте! У меня с графикой совсем плохо! А тут ККР скоро! Не успеваю совсем...
Задание:
Написать программу, которая выводит на экран ломаную линию, состоящую из 100 непересекающихся звеньев, окрашенных в разные цвета, выбираемые случайным образом, причем координаты звеньев тоже выбираются случайно. Толщина линии задается пользователем.

Помогите пожалуйста!
"Я - часть той силы, что вечно хочет зла и вечно совершает благо"(с)
Morrigan13 вне форума Ответить с цитированием
Старый 24.04.2008, 14:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну плохо то плохо, но идеи то какие-то есть?
Сам по себе код не сложный в цикле получить через random очередную координату и moveto отрисовать ее изменив цвет через SetColor
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.04.2008, 16:52   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Порядок решения задачи такой:
Объявляешь тип Точка с двумя полями-координатами точки
Код:
type Tpoint=record
            x,y:integer;
            end;
В цикле присваиваешь всем 101 точкам случайные значения исходя из ширины и высоты экранного поля (обычно 640х480) не примыкая к краям
Код:
for i:=1 to 101 do
   begin
     p[i].x:=random(621)+10;
     p[i].y:=random(461)+10;
   end;
Далее сортируешь массив по по возрастанию координаты х любым известным вам способом, например "пузырьком"
Код:
for i:=1 to 100 do
for j:=1 to 100 do
if p[j].x>p[j+1].x then
   begin
     x:=p[j];p[j]:=p[j+1];p[j+1]:=x;
   end;
Инициализируешь графический режим, задаешь толщину линий, устанавливаешь курсор в первую точку
Код:
(moveto(p[1].x,p[1].y))
и в цикле от 1 до 101 присваиваешь
Код:
SetColor(random(15)+1);
рисуешь линии
Код:
LineTo(p[i].x,p[i].y);
Вот и все.
puporev вне форума Ответить с цитированием
Старый 26.04.2008, 20:07   #4
Morrigan13
 
Аватар для Morrigan13
 
Регистрация: 28.03.2008
Сообщений: 8
По умолчанию

Спасибо за помощь!=)
"Я - часть той силы, что вечно хочет зла и вечно совершает благо"(с)
Morrigan13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mov ax,13h int 10h и Borland Pascal виснет..? Siddharta Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 01.07.2008 11:27
выбор средства для систематизации информации Jashy Софт 1 05.04.2008 14:19
Средства визуальной разработки программ Катюшoк Общие вопросы Delphi 4 19.01.2008 20:02
Нужен Borland Pascal 7.0? kuzmich Паскаль, Turbo Pascal, PascalABC.NET 6 08.12.2007 11:21
BP: Borland Pascal DruidD Помощь студентам 6 29.05.2007 20:06