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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2013, 16:10   #1
Kastiel11
 
Регистрация: 02.06.2013
Сообщений: 7
По умолчанию Pascal

Написал программу, но в диаграмме не отображает процентную составляющую в цифрах, показывает 0% не пойму в чём дело, не подскажете?....


составить программу отображающую значения трех величин - две из них генерируются по закону случайных чисел в диапазоне от 10 до 40, а третья дополняет сумму двух первых до 100. Значения полученных трёх величин отобразить в виде цветной круговой диаграммы....

uses crt,graph;
var z:array [1..10] of integer;
n,i,x,y,r,a,b,s: integer;
st:string;
Begin
randomize;
clrscr;
n:=3;
for i:=1 to 2 do

z[i]:=random(40);
z[3]:=100-z[1]-z[2];

x:=0;
initgraph(x,y,'');
s:=0;
for i:=1 to n do
s:=s+z[i];
x:=getmaxX div 2;
y:=getmaxY div 2;
r:=150;
b:=round(360*z[1]/s);
setcolor(1);
setfillstyle(1,1);
pieslice(x,y,0,b,r);
str(100*z[1]/s:0:2,st);
outtextXY(x+round((r+20)*cos(pi*b/360)),y-round((r+20)*sin(pi*b/360)),st+'');
for i:=2 to n-1 do
begin
a:=round(360*z[i]/s)+b;
setcolor(i);
setfillstyle(1,i);
pieslice(x,y,a,b,r);
str(100*z[i]/s:0:2,st);
if (a<=90)or(a>=270) then
outtextXY(x+round((r+20)*cos(pi*(a+ b)/360)),y-round((r+20)*sin(pi*(a+b)/360)),st+'')
else
outtextXY(x+round((r+20)*cos(pi*(a+ b)/360))-40,y-round((r+20)*sin(pi*(a+b)/360)),st+'');
b:=a;
end;
setcolor(n);
setfillstyle(1,n);
pieslice(x,y,b,360,r);
str(100*z[n]/s:0:2,st);
outtextXY(x+round((r+20)*cos(pi*(36 0+b)/360)),y-round((r+20)*sin(pi*(360+b)/360)),st+'');
readln
end.
Kastiel11 вне форума Ответить с цитированием
Старый 04.06.2013, 21:00   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,312
По умолчанию

Выдели введенный код и нажми на символ # в меню окна.
Это позволяет форматировать код и представлять его в более читабельном виде.
У меня FPC. Программа рисует 3-и сектора трех цветов и подписывает данные в процентах. Цвет надписей соответствует цвету секторов.
Дело видимо не в программе.



Вроде так ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 05.06.2013, 21:26   #3
Kastiel11
 
Регистрация: 02.06.2013
Сообщений: 7
По умолчанию Какой код

что то я не понял какой код надо выделить?
Kastiel11 вне форума Ответить с цитированием
Старый 05.06.2013, 21:31   #4
Kastiel11
 
Регистрация: 02.06.2013
Сообщений: 7
По умолчанию Borland

у меня старый borland pascal и что то он эту программу вообще показывает не как в free. Не пойму что сделать чтобы нормально открывалось без проблем.
Kastiel11 вне форума Ответить с цитированием
Старый 05.06.2013, 22:01   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Косяк не в программе. Я проверил на Free и откопал у себя Turbo : Всё работает!!

Поэтому советую Вам поступить так : надо поклониться в ножки Турбо и прибить его гвоздиком на стенку, а самому использовать FP или еще что-то в том же роде (с) TinMan
Poma][a вне форума Ответить с цитированием
Старый 05.06.2013, 22:13   #6
Kastiel11
 
Регистрация: 02.06.2013
Сообщений: 7
По умолчанию

суть в том что эта программа универа, там же не заменишь, и там этот борланд, поэтому и не знаю как сделать чтобы всё работало там
Kastiel11 вне форума Ответить с цитированием
Старый 05.06.2013, 22:15   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
и там этот борланд
Какой борланд?
Poma][a вне форума Ответить с цитированием
Старый 05.06.2013, 22:29   #8
Kastiel11
 
Регистрация: 02.06.2013
Сообщений: 7
По умолчанию

вроде это как раз Borland Turbo но почему то дома во Free она читается нормально, а вот в универе никак
Kastiel11 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pascal abc, pascal turbo. выборка данных из одного .txt в другой ТипичныйСтудент Помощь студентам 6 27.04.2013 15:29
Задача turbo pascal на тему: файлы с произвольным доступом в Pascal ExCiTeC Паскаль, Turbo Pascal, PascalABC.NET 0 28.01.2013 20:36
Программы в Pascal, среда pascal ABC. Лабораторные работы Одинокая Волчица Фриланс 8 10.02.2012 20:09
Turbo Pascal и Free Pascal , в чем разница? antoxann Паскаль, Turbo Pascal, PascalABC.NET 31 09.11.2011 07:52
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28