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

помогите перевести код с паскаль в С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите литературу... http://www.cyberforum.ru/cpp-beginners/thread390951.html
Здравствуйте, подскажите в какой книге можно получить хорошее обьяснение std::<vector> Заранее благодарен.
C++ Класс динамического массива для различных типов Можно ли создать класс динамического массива, чтоб при создании массива можно было бы задать размер и тип массива. Например что-то типа такого class dinarray {...} void main(){ dinarray... http://www.cyberforum.ru/cpp-beginners/thread390945.html
C++ как написать сумму ряда??
Привет,помогите пожалуйста написать программку на С++ Разработайте алгоритм и напишите программу вычисления суммы ряда для . В программе предусмотрите ввод требуемой точности ...
C++ выделение памяти и никогда не выполняете* ее освобождение
Как это можно сделать написать программу с бесконечным циклом» в котором постоянно происходит выделение памяти и никогда не выполняете* ее освобождение. Попробуйте оба варианта. Сколько памяти вы...
C++ Вычисление функций с использованием их разложения в степенной ряд http://www.cyberforum.ru/cpp-beginners/thread390924.html
"Вычисление функций с использованием их разложения в степенной ряд" Цель: Практика в организации итерационных и арифметических циклов, использование функций. Постановка задачи
C++ Проблема с задачей,а именно с "sqrt" Помогите... #include <iostream> #include <cmath> #include <iomanip> using namespace std; void main() { double c, A, Hb; const double Pi=3.1415; cout<<"vvedite c, c=";... подробнее

Показать сообщение отдельно
Anchik707
Сообщений: n/a

помогите перевести код с паскаль в С++ - C++

24.11.2011, 17:13. Просмотров 395. Ответов 0
Метки (Все метки)

помогите перевести код с паскаль в С++


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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
program Curs;
uses crt, graph;
var i, n:integer;
t:byte;
a, b, eps, h:real;
x, sum1, sum2, seps, m0, m1, m2, m3, m4:real;
lf:text;
st:string;
function f (x:real):real;
begin
f:=19.44*exp (0.224*x);
end;
procedure gr (xn, xk:real);
var x, y, mx, my, dx, dy,
ymin, ymax, xh:real;
xb, yb, xm, ym, xl, yv, xp, yn, bord1, bord2, bord3, bord4, xt, yt, xt1, yt1, dxp, dyp, nd, nr, i, kx, ky, k:integer;
st:string;
begin
k:=100;
xh:=(xk-xn)/100;
 
ymax:=f(xn);
dx:=(xk-xn)/100;
for i:=1 to 100 do
begin x:=xn+dx*i;
y:=f(x);
if y>ymax then ymax:=y;
end;
ymin:=0;
ymax:=round(ymax);
nd:=detect;
initgraph (nd, nr, 'c:\tp7\bgi');
bord1:=60; kx:=6;
bord2:=30; ky:=8;
bord3:=30;
bord4:=80;
xb:=0; yb:=0; xm:=getmaxx; ym:=getmaxy;
xl:=xb+bord1;
xp:=xm-bord2;
yv:=yb+bord3;
yn:=ym-bord4;
dxp:=(xp-xl) div kx;
dyp:=(yn-yv) div ky;
dx:=(xk-xn)/kx;
dy:=(ymax-ymin)/ky;
xl:=xp-dxp*kx;
yn:=yv+dyp*ky;
mx:=(xp-xl)/(xk-xn);
my:=(yn-yv)/(ymax-ymin);
setfillstyle (1,15);
 
bar (xb, yb, xm, ym);
setcolor(0);
setlinestyle (0,0,1);
bar (xl, yv, xp, yn);
rectangle (xl, yv, xp, yn);
 
settextjustify (0,2);
settextstyle (2,1,4);
setcolor(9);
for i:=0 to kx do begin
xt:=xl+dxp*i;
str (xn+dx*i:6:3, st);
line (xt, yn 3, xt, yn+3);
outtextxy (xt+4, yn+8, st);
end;
settextstyle (0,0,1);
for i:=0 to ky do begin
yt:=yv+dyp*i;
str (ymax-dy*i:6:3, st);
line (xl 3, yt, xl+3, yt);
outtextxy (xl 56, yt 4, st);
end;
 
outtextxy (xl+100, bord3 div 2,'y=19.44*exp (0.224*x)');
 
setcolor(12);
if xn*xk<0 then begin
xt:=xl-trunc (xn*mx);
line (xt, yv, xt, yn);
end;
if ymax*ymin<0 then begin
yt:=yv+trunc (ymax*my);
line (xl, yt, xp, yt);
end;
xh:=(xk-xn)/5;
for i:=0 to 5 do begin
setcolor(3);
x:=xn+xh*i;
y:=f(x);
xt:=xl+trunc((x-xn)*mx);
yt:=yv+trunc((ymax-y)*my);
circle (xt, yt, 3);
if i>0 then
line (xt, yt, xt1, yt1);
setcolor(5);
rectangle (xt1, yt1, xt, yn);
xt1:=xt;
yt1:=yt;
end;
repeat until keypressed;
closegraph;
end;
 
function pr:real;
var s, x:real;
begin
s:=0;
x:=a;
for i:=1 to n do
begin
s:=s+abs (f(x))*h;
x:=x+h;
end;
pr:=s;
end;
 
function tr:real;
var s, x:real;
begin
s:=0;
x:=a;
for i:=1 to n do
begin
s:=s+(f(x)+f (x+h))/2*h;
x:=x+h;
end;
tr:=s;
end;
 
function ch:real;
var s, dp, kf, a1, b1:real;
begin
s:=0;
kf:=sqrt (1/3);
for i:=2 to n+1 do
begin
a1:=a+h*(i 2);
b1:=a1+h;
s:=s+((b1 a1)/2)*(f((a1+b1)/2 kf*((b1 a1)/2))+f((a1+b1)/2+kf*((b1 a1)/2)));
end;
ch:=s;
end;
 
function si:real;
var s, x, f1, f2:real;
begin
s:=0;
x:=a;
i:=1;
f1:=0;
repeat
f1:=f1+f (a+h*i);
i:=i+2;
until i>=n;
i:=2;
f2:=0;
repeat
f2:=f2+f (a+h*i);
i:=i+2;
until i>=n;
s:=h/3*(f(a)+f (b-h)+(4*f1)+(2*f2));
si:=s;
 
end;
 
begin
assign (lf, 'otchet.txt');
rewrite(lf);
 
clrscr;
write ('Введите значение левого предела интегрирования: '); readln(a);
write ('Введите значение правого предела интегрирования: '); readln(b);
write ('Введите значение погрешности: '); readln(eps);
write ('Введите начальное значение количества разбиений: '); readln(n);
writeln;
gr (a, b);
write ('Ждите, идет обработка данных ');
m0:=0;
writeln (lf, ' КУРСОВАЯ РАБОТА');
writeln (lf, ' ПО КУРСУ ИНФОРМАТИКА');
writeln (lf, ' «ПРИБЛИЖЕННОЕ ВЫЧИСЛЕНИЕ ЗНАЧЕНИЙ');
writeln (lf, ' ОПРЕДЕЛЕННОГО ИНТЕГРАЛА» ');
writeln (lf, ' Выполнил: студент гр. ');
writeln (lf, '  Вариант 22 y=19.44*exp (0.224*x)');
writeln (lf, ' Xn=', a:5:3,' Xk=', b:5:3,' Eps=', eps:5:3);
writeln(lf);
writeln (lf, ' РЕЗУЛЬТАТЫ ВЫЧИСЛЕНИЙ');
repeat
h:=abs (b-a)/n;
m1:=pr;
m2:=tr;
m3:=si;
m4:=ch;
seps:=abs (m1 m0);
writeln (lf, ' в”‚', n:7,' в”‚', m1:11:8,'в”‚', m2:11:8,'в”‚', m3:11:8,'в”‚', m4:11:8,'в”‚', seps:11:8,'в”‚');
m0:=m1;
n:=n+200;
until (seps<=eps);
clrscr;
reset(lf);
while not eof(lf) do
begin
readln (lf, st);
writeln(st);
end;
{write ('Нажмите <Enter> для выхода из программы');
repeat until keypressed;}
close(lf);
end.
 Комментарий модератора 
Используйте теги форматирования кода!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru