Форум программистов, компьютерный форум CyberForum.ru

Перевести код из Pascal в C++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
01.11.2012, 05:42     Перевести код из Pascal в C++ #1
доброго времени суток.
Надо перевести код паскаля в с++ чтоб выполняло тоже самое и выдавало тот же самый результат.
Помогите плиз.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
rogram kurs;
uses crt,graph;
const
xmin=0;
xmax=1;
h=0.01;
n=10;
var
   st:string;
 x0,y0,gd,gm,mk,i,a,b,px,py:integer;
k0,k1,k2,k3,mx,my,z,x,y,dx,dy,yi,xi:real;
 kx,ky:real;
 ymin,ymax:real;
 s:string;
 function f(x,y:real):real;
begin
 f:=((y/(x+1))-y*y);
end;
begin
  xi:=0;
  yi:=1;
  writeln(' k|  xk |  yk');
  for i:=0 to n do
  begin
    k0:=h*f(xi,yi);
    k1:=h*f(xi+h/2,yi+k0/2);
    k2:=h*f(xi+h/2,yi+k1/2);
    k3:=h*f(xi+h,yi+k2);
    dy:=(k0+2*k1+2*k2+k3)/6;
    yi:=yi+dy;
    xi:=xi+h;
     writeln(i:2, '|',xi:5:2, '|',yi:7:4);
     end;
   readkey;
    begin
     gd:=detect;
     initgraph(gd,gm,'egavga.bgi');
     x:=xmin;
     z:=f(x,y);
     repeat
      if y<ymin then ymin:=y;
      if y>ymax then ymax:=y;
      x:=x+h;
      until(x>=1);
     x0:=getmaxx div 10;
     y0:=getmaxy div 2;
     mx:=500/abs(1);
     my:=400/abs(1.5);
       setbkcolor(black);
     setlinestyle(0,0,1);
 
 
 
         setcolor(green);
     line(0,y0,getmaxx,y0);
     line(x0,getmaxy,x0,0);
     setcolor(red);
     for i:=1 to 10 do
      begin
       line(10,y0-round(i*my),630,y0-round(i*my));
       line(10,y0+round(i*my),630,y0+round(i*my));
       line(x0+round(i*mx),0,x0+round(i*mx),getmaxy);
       line(x0-round(i*mx),0,x0-round(i*mx),getmaxy);
       str(i,s);
       outtextxy(x0-10,y0-round(i*my),s);
       outtextxy(x0-15,y0+round(i*my),'-'+s);
      end;
      setcolor(white);
      outtextxy(x0+5,y0+10,'0');
      outtextxy(getmaxx-10,y0-10,'X');
      outtextxy(x0-10,10,'Y');
      setcolor(red);
      x:=xmin;
      dx:=0.01;
        for i:=0 to n do
       begin
         z:=f(x,y);
        px:=x0+round(xi*mx);
        py:=y0-round(yi*my);
        putpixel(px,py,red);
        xi:=xi+dx;
        yi:=yi+dy;
      end;
      setcolor(red);
      setlinestyle(0,0,1);
      outtextxy(230,30,'F=(y/x+1)-y^2');
      readln;
      closegraph;
   end;
   end.
Добавлено через 12 часов 33 минуты
хелп миииии
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 05:42     Перевести код из Pascal в C++
Посмотрите здесь:

C++ Перевести код из Pascal на C++
код pascal перевести в с++ C++
Перевести код с Pascal C++
C++ Перевести код из Pascal на С++
C++ Перевести код с Pascal
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AlexSMGr54
4 / 4 / 1
Регистрация: 24.10.2012
Сообщений: 57
01.11.2012, 06:16     Перевести код из Pascal в C++ #2
Боюсь, что тут всё не так просто.
Модулей подобных модулю graph в c++ нет. Есть библиотеки curses и ncurses, но они умеют только раскрашивать текст и фон.
Если ошибаюсь, поправьте.
HighPredator
 Аватар для HighPredator
5349 / 1732 / 320
Регистрация: 10.12.2010
Сообщений: 5,119
Записей в блоге: 3
01.11.2012, 11:36     Перевести код из Pascal в C++ #3
Для Borland C++ 3.1:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
#include<stdlib.h>
#include<graphics.h>
#include<math.h>
 
#define xmin 0
#define xmax 1
#define h 0.01
#define n 10
 
char st[256];
int x0,y0,mk,i,a,b,px,py;
float k0,k1,k2,k3,mx,my,z,x,y,dx,dy,yi,xi;
float kx,ky;
float ymin,ymax;
char s[256];
int far * gd;
int far * gm;
 
float f(float x,float y)
{
    return ((y/(x+1.0))-y*y);
}
 
int main()
{
    xi=0;
    yi=1;
    cout<<" k|  xk |  yk"<<endl;
    for(i=0;i<n+1;i++)
    {
        k0=h*f(xi,yi);
        k0=h*f(xi,yi);
    k1=h*f(xi+h/2.0,yi+k0/2.0);
    k2=h*f(xi+h/2.0,yi+k1/2.0);
    k3=h*f(xi+h,yi+k2);
    dy=(k0+2.0*k1+2.0*k2+k3)/6.0;
    yi=yi+dy;
        xi=xi+h;
        cout<<setw(2)<<i<<"|"<<setw(5);
        cout.precision(2);
        cout<<xi<<"|"<<setw(7);
        cout.precision(4);
        cout<<"yi"<<endl;
    }
    getch();
    detectgraph(0,0);
    initgraph(gd,gm,"egavga.bin");
    x=xmin;
    z=f(x,y);
    do
    {
        if(y<ymin) ymin=y;
        if(y>ymax) ymax=y;
        x=x+h;
    }
    while(x<1);
    x0=getmaxx()/10;
    y0=getmaxy()/2;
    mx=500.0/fabs(1.0);
    my=400.0/fabs(1.5);
    setbkcolor(BLACK);
    setlinestyle(0,0,1); 
  setcolor(GREEN);
  line(0,y0,getmaxx(),y0);
  line(x0,getmaxy(),x0,0);
    setcolor(RED);
    for(i=1;i<11;i++)
    {
        line(10,y0-ceil(i*my),630,y0-ceil(i*my));
    line(10,y0+ceil(i*my),630,y0+ceil(i*my));
    line(x0+ceil(i*mx),0,x0+ceil(i*mx),getmaxy());
    line(x0-ceil(i*mx),0,x0-ceil(i*mx),getmaxy());
        //str(i,s);
        itoa(i,s,10);
    outtextxy(x0-10,y0-ceil(i*my),s);
        outtextxy(x0-15,y0+ceil(i*my),'-'+s);
    }
    setcolor(WHITE);
  outtextxy(x0+5,y0+10,"0");
  outtextxy(getmaxx()-10,y0-10,"X");
  outtextxy(x0-10,10,"Y");
  setcolor(RED);
  x=xmin;
    dx=0.01;
    for(i=0;i<n+1;i++)
    {
        z=f(x,y);
    px=x0+ceil(xi*mx);
    py=y0-ceil(yi*my);
    putpixel(px,py,RED);
    xi=xi+dx;
        yi=yi+dy;
    }
    setcolor(RED);
  setlinestyle(0,0,1);
  outtextxy(230,30,"F=(y/x+1)-y^2");
    getch();
    closegraph();   
  return 0;
}
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
01.11.2012, 18:13  [ТС]     Перевести код из Pascal в C++ #4
запустил в Borland c++ он ошибки выдает скрин выставляю
Миниатюры
Перевести код из Pascal в C++  
HighPredator
 Аватар для HighPredator
5349 / 1732 / 320
Регистрация: 10.12.2010
Сообщений: 5,119
Записей в блоге: 3
01.11.2012, 18:19     Перевести код из Pascal в C++ #5
lexflax, Options->Linker->Libraries->Graphics Library(x)
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
02.11.2012, 06:40  [ТС]     Перевести код из Pascal в C++ #6
спасибо большое заработало, вот только есть одно но, код паскаля был не мой, его выставлял на форум человечек один , по моему заданию просто подходит.... Выставлял он его потому что у него график не выводился, можно как то сделать чтоб с графиком решение было? пожалуйста, просто очень надо а сам не знаю как это делается

Добавлено через 12 часов 14 минут
подскажите как график сделать(((
Yandex
Объявления
02.11.2012, 06:40     Перевести код из Pascal в C++
Ответ Создать тему
Опции темы

Текущее время: 16:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru