begin Write (‘Введіть A[‘,i,’]:’); ReadLn (A[i]); end;
Randomize;
GraphDriver:=VGA; {Ініціалізація графічного режиму}
GraphMode:=VGAHi; InitGraph(GraphDriver,GraphMode,’’) ;
SizeX:=round(640/N-5); {Пошук максимального значення в масиві для побудови діаграми на весь екран}
Мах:=А[1];
for і:=2 to N do
if A[i]>Max then Мах:=А[і];
SizeY:=round(480/Max); {Перетворення масиву значень у відповідності з коефіцієнтом пропорційності}
for i:=l to N do A[i]:=A[i]*SizeY;
for i:=1 to N do
begin {Встановлення випадковим чином кольору зафарбування стовпчиків діаграми}
SetFillStyle (1,random(14)+1); Bar ((i-l)*SizeX,480,i*SizeX-5,480-A[i]);
end;
Readkey; {Затримка зображення на екрані}
CloseGraph; {Закриття графічного режиму}
end.
де
Сама діаграма будується за допомогою процедури PieSlice
Program Example_618;
Uses graph; (Підключення бібліотек}
Var GraphDriver,GraphMode:integer; N, і : integer;
Sum,Ang : real;
A : array [1..100] of real; S : string; Begin
ClrScr; Randomize;
Write (ЛВведіть кількість елементів діаграми: *).;
ReadLn (N);
(Введення значень для побудови діаграми}
for i:=l to N do A[i]:=random*200;
GraphDriver:=VGA;
GraphMode:=VGAHi;
InitGraph(GraphDriver,GraphMode,»);
Sum:=0;
for i:=1 to N do Sum:=Sum+A[i];
for i:=1 to N do A[i]:=A[i]*360/Sum;
Ang:=0;
for i:=1 to N do