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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 13:52   #1
Silverstone
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 75
По умолчанию Процедура рисования полигона. Код внутри

Немного не понимаю как сделать

Цитата:
Нетипизированные параметры
Написать процедуру рисования полигона. Параметры: 1) ад-рес массива координат полигона (так как количество вершин каж-дый раз разное – параметр нетипизирован); 2) количество вершин полигона. В процедуре привести нетипизированный параметр к удобному для программиста типу и нарисовать полигон. Из основ-ной программы обратиться к данной процедуре 3 раза, в качестве фактического параметра использовать различные структуры дан-ных, хранящие координаты полигонов (например, массив записей, двумерный массив, одномерный массив).
Вот что "накалякал":
Код:
Program ex7;
 uses graph;
type
 p=1..640;
 tip=(krug);
  graph1=record
   color:byte;


  case tipf:tip of
   krug:(x:p;y:p;r:p);
  end;

  a1=array[1..12] of graph1; {координаты}
  a2=array[1..24] of word;
  a3=array[1..12,1..2] of word;


 var e:byte;
 d,m:integer; a:a1; b:a2; c:a3;


procedure abc(var t;const n:byte);
 type p=1..640;
  tip=(krug);
  a=array[1..250,1..2] of word;
  var i,e:byte; d:integer;

begin
 randomize;
  for i:=1 to n do begin
  e:=random(3);

  a[i].color:=3+random(30);

  case e of
  0: begin a[i].tipf:=krug;
     a[i].x:=5+random(640);
     a[i].y:=5+random(480);
     a[i].r:=5+random(100);
   end;
  end;
  case a[i].tipf of
  krug: begin
        setcolor(a[i].color);
        circle(a[i].x,a[i].y,a[i].r);
  end;
end;
end;
begin
 d:=detect;m:=2;
 initgraph(d,m'..\bgi\');

 for i:=1 to 12 do
  abc(a,12); readln; cleardevice; readln;
  abc(b,12); readln; cleardevice; readln;
  abc(c,12);
 readln;
 end;
 end.
Silverstone вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать цикл. Код внутри =) Silverstone Помощь студентам 4 21.12.2011 22:12
Нахождение слов-анаграмм, Ошибка выдается. Задание внутри. Код внутри. TYMON Общие вопросы .NET 2 22.11.2010 21:07
C# Процедура рисования Alexen C# (си шарп) 6 15.10.2010 08:31
Прошу помочь переделать.Код внутри.С++ BackSlash Помощь студентам 1 10.01.2010 20:36
Вычисление суммы с данной точностью.Код внутри. BackSlash Помощь студентам 5 21.12.2009 16:18