Помощь - Поиск - Пользователи - Календарь
Полная версия: Графика с С++
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Domin9es
Помогите с графикой. Надо это сделать в с++. Код на паскале.

program parametr;
uses graph , crt;
const a1 = 200; b1 = 1; c1 = 50;
a2 = 200; b2 = 16; c2 = 50;
var graphdriver , GraphMode :integer;
i : integer;
t , x ,y , x1 ,y1 , step:real;
begin
GraphDriver := VGA;
GraphMode := VGAHI;
InitGraph(graphDriver,GraphMode,'x:\mypasc~1\IVSEM~1\');

setviewport(320,240,639,479,clipoff);
step := 0.0001;
t:= step;

moveto(round(a1 * sin((b1*t+c1))),round(a2 * cos((b2*t+c2))));
t := 0;
repeat
t := t + step;
x := a1 * sin((b1*t+c1));
y := a2 * cos((b2*t+c2));
delay(100);
lineto(round(x),round(y));
until (t >= 10) or keypressed;
readln;
closegraph;
end.

volvo
Программа же дословно переводится на С++, в чем проблема?

#include <conio.h>
#include <dos.h>
#include <math.h>
#include <graphics.h>

const int
a1 = 200,
b1 = 1,
c1 = 50,
a2 = 200,
b2 = 16,
c2 = 50;

int main() {

int graphdriver = VGA, graphmode = VGAHI;

initgraph(&graphdriver, &graphmode, "");
setviewport(320, 240, 639, 479, 0);
double step = 0.0001, t = step;

moveto(
(int)(a1 * sin((b1*t+c1))),
(int)(a2 * cos((b2*t+c2)))
);

t = 0;
do {
t += step;
int x = (int)(a1 * sin((b1*t+c1)));
int y = (int)(a2 * cos((b2*t+c2)));
delay(10);
lineto(x, y);
}
while(t < 10 && !kbhit());
while(getch() != 13);
closegraph();

return 0;
}

Найди отличия, что называется...
Domin9es
Я в графике ноль wacko.gif , даже на паскале не я делал no1.gif

Пишет use init graph blink.gif
volvo
Программа прекрасно компилируется и работает, но только для этого в одной папке с программой должен лежать файл EGAVGA.BGI...
Domin9es
Спасибо!!! все работает
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.