ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Turbo Pascal. Круговая диаграмма |

15.02.2010, 11:34
|
|
Участник форума
Регистрация: 22.02.2007
Сообщений: 213
Провел на форуме: 388345
Репутация:
58
|
|
Turbo Pascal. Круговая диаграмма
Пишу курсовик. Надо построить круговую диаграмму.
Сектора строятся правильно, а вот надписи к ним ставятся под каким-то непонятным углом.
Код:
on:array [1..100] of string[20];
oc:array [1..100] of integer;
...
Код:
{ Вывести on[..] и oc[..] в порядке убывания oc }
angle_pred:=0;
clrscr;
DetectGraph(Device, Mode);
InitGraph(Device, Mode, 'EGAVGA.BGI');
SetTextStyle(3, HorizDir, 2);
SetFillStyle(11, 11);
repeat
f := false;
m := -1; { Текущее наибольшее значение oc }
for i := 1 to 100 do
begin
if oc[i] > m then
begin
i2 := i;
m := oc[i];
f := true;
end;
end;
if (f = true) then
begin
if (oc[i2] > 0) then
begin
{ Вывести часть диаграммы }
angle := angle_pred + Trunc(oc[i2] / c * 360);
setcolor(12);
for a:=0 to 45 do
begin
Line(200, 200, 200 + Trunc(120 * cos(a)), 200 + Trunc(120 * sin(a)));
end;
{
Str(angle, tmp);
outtextxy(200 + Trunc(120 * cos(angle)), 200 + Trunc(120 * sin(angle)), tmp);
}
setcolor(i2);
setfillstyle(i2, i2);
setlinestyle(0, 0, 1);
PieSlice(200, 200, angle_pred, angle-1, 100);
angle_pred := angle;
end;
oc[i2] := -1;
end;
until (f = false) or ((i=100) and (oc[i2]=0));
ReadKey;
CloseGraph;
RestoreCrtMode;
собственно проблема отмечена красным. По идее должен рисоваться сектор, закрашенный красным, а на практике получается что красные линии раскиданы равномерно по всей диаграмме.
Может быть надо какой-то флаг компилятора включить или что?
Последний раз редактировалось ZagZag; 15.02.2010 в 11:37..
|
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Задачи. Turbo Pascal
|
Richard |
С/С++, C#, Delphi, .NET, Asm |
13 |
18.05.2009 21:13 |
|
turbo pascal
|
sadfeel |
С/С++, C#, Delphi, .NET, Asm |
0 |
28.02.2009 19:37 |
|
СРОЧНО!!! Turbo Pascal
|
MAG0t |
Разное - Покупка, продажа, обмен |
3 |
23.12.2008 18:36 |
|
TURBO PASCAL 7 1.0
|
Daemond |
С/С++, C#, Delphi, .NET, Asm |
1 |
03.12.2008 22:32 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|