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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2010, 00:35   #1
panic_a
Новичок
Джуниор
 
Регистрация: 22.12.2010
Сообщений: 3
По умолчанию перевести код с Pascal на C++

uses crt,graph;
var x0,y0,x,y,a,dx,dy,cv:integer;
t:real;

procedure mygraphinit;
var Dr,Md,Err:integer;
begin
Dr:=detect;
initgraph (Dr,Md,'D:\TP\BGI');
Err:=graphresult;
if err<>grok then
writeln(Grapherrormsg(err))
end;

procedure Kard (cx,cy,cv:integer;u:real);
var dx,dy,x,y,r:integer;
t:real;
begin
t:=0;
dx:=round(a*cos(t)*(1+cos(t)));
dy:=round(a*sin(t)*(1+cos(t))/2);
x:=cx+round(dx*cos(u)-dy*sin(u));
y:=cy-round(dx*sin(u)+dy*cos(u));

moveto(x,y);
while t<=2*pi do
begin
dx:=round(a*cos(t)*(1+cos(t)));
dy:=round(a*sin(t)*(1+cos(t))/2);
x:=cx+round(dx*cos(u)-dy*sin(u));
y:=cy-round(dx*sin(u)+dy*cos(u));
setcolor(cv);
lineto(x,y);
t:=t+0.001;
end;
setfillstyle(3,cv);
r:=a div 2;
floodfill(cx+round(r*cos(u)-r*sin(u)),cy-round(r*sin(u)+r*cos(u)),cv);
end;
BEGIN
clrscr;
repeat
write('radius[50..120] a=');
readln(a);
until a in [50..120];
repeat
write ('cvet [1..15] cv=');
readln(cv);
until cv in [1..15];

mygraphinit;

x0:=getmaxX div 2;
y0:=getmaxY div 2;
line(x0,0,x0,getmaxY);
line(0,y0,getmaxX,y0);
setcolor(8);
settextstyle(1,0,2);
outtextxy(1,1,'KARDIOIDA');
outtextxy(320,0,'Y');
outtextxy(600,240,'X');

Kard(x0+100,y0-80,cv,pi/3);
Kard(x0-100,y0-80,cv,5*pi/7.45);
Kard(x0-100,y0+80,cv,4*pi/3);
Kard(x0+100,y0+80,cv,11*pi/6.6);

readln;
closegraph;

END.

помогите, пожалуйста)
panic_a вне форума Ответить с цитированием
Старый 22.12.2010, 00:37   #2
panic_a
Новичок
Джуниор
 
Регистрация: 22.12.2010
Сообщений: 3
По умолчанию

задача состоит в том , чтоб построить график кардиоиды
x=acost(1+cost)
y=asint(1+cost)
a>0,t E[0,2П)
panic_a вне форума Ответить с цитированием
Старый 22.12.2010, 00:37   #3
panic_a
Новичок
Джуниор
 
Регистрация: 22.12.2010
Сообщений: 3
По умолчанию

задача состоит в том , чтоб построить график кардиоиды
x=acost(1+cost)
y=asint(1+cost)
a>0,t E[0,2П)
panic_a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести код на C++ mela Помощь студентам 3 01.06.2010 22:35
Перевести код с VB на C# LT. Общие вопросы .NET 2 25.05.2010 19:21
Перевести код с Pascal в C++ gigaman Общие вопросы C/C++ 1 26.03.2008 12:18