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

Перевод кода с Pascal - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выделение памяти malloc приводит к неправильным расчетам http://www.cyberforum.ru/cpp-beginners/thread1220920.html
Есть функция которая постоянно вызывается для расчетов. Она работает правильно, до тех пор пока я в неё не добовляю очередную строчку выделения памяти malloc, после чего все результаты расчетов вообще другие. void test () { double* buff = (double*)::malloc( w_size *sizeof(double) * size_1); double* buff2 = (double*)::malloc( w_size *sizeof(double) * size_1); добавил перестало считать...
C++ Вычислить длину отрезка. Определить, в каких четвертях (квадрантах) координатной плоскости лежат его концы Помогите написать программу Задача Отрезок задан координатами концов. Вычислить его длину. Определить, в каких четвертях (квадрантах) координатной плоскости лежат его концы. Нужно написать программу на языке си, (Разветвляющиеся алгоритмы) задача орентированна на условного оператора http://www.cyberforum.ru/cpp-beginners/thread1220917.html
Вычислить сумму цифр массива C++
Ввести целочисленный массив, состоящий из 17-ти элементов (двузначные целые числа) Вычислить сумму цифр этого массива.
C++ Составить блок-схему алгоритма и программу вычисления суммы n членов ряда согласно условию задачи
Бесконечность
C++ Перевод кода с Pascal http://www.cyberforum.ru/cpp-beginners/thread1220913.html
uses crt; const b=7; var a,c,y:real; x:integer; begin write('Введите x=');readln (x); a:=power(b+x,3); c:=ln (abs(b));
C++ Построить фигуру и предусмотреть преобразования: перенос по оси Х и по оси Y В двумерной декартовой системе координат фигуры задаются координатами вершин. Построить фигуру и предусмотреть следующие преобразования: - перенос по оси Х и по оси Y; - поворот вокруг заданной точки. подробнее

Показать сообщение отдельно
кок
0 / 0 / 0
Регистрация: 01.07.2014
Сообщений: 53
01.07.2014, 21:47     Перевод кода с Pascal
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
uses crt,graphABC;
function y(x:real):real;
begin
if x<0 then y:=1+sqrt(abs(cos(x*x+1)))
else if x<=1 then y:=-2*x-sqr(sin(x))
else y:=exp(-sqr(cos(x)))
end;
var a,b,x,h,max,min,mx,my,dx:real;
    x0,y0,n,i:integer;
    s:string;
begin
a:=-1;
b:=1.5;
h:=0.1;
x:=a;
while x<=b+h/2 do
 begin
  writeln('x=',x:5:1,'  y=',y(x):7:3);
  if x=1.2 then
   begin
    write('Press Enter');
    readln
   end;
  x:=x+h
 end;
write('Нажмите Enter для просмотра графика');
readln;
hidecursor;
clrscr;
x0:=round(-windowwidth*a/(b-a));
y0:=windowheight div 2;
mx:=(windowwidth-60)/(b-a);{масштаб по Х}
x:=a;
max:=y(x);
min:=max;
while x<b do
 begin
  x:=x+0.01;
  if y(x)>max then max:=y(x);
  if y(x)<min then min:=y(x);
 end;
if max>abs(min) then my:=(y0+20)/max {масштаб по Y}
else my:=(y0+20)/abs(min);
n:=16;
if max>n then n:=trunc(max)+1;
if abs(min)>n then n:=trunc(abs(min))+1;
line(0,y0,windowwidth,y0);{оси}
line(x0,0,x0,windowheight);
for i:=1 to n do{максимальное количество засечек в одну сторону}
  begin
    line(x0+round(i*mx/10),y0-3,x0+round(i*mx/10),y0+3); {засечки на оси Х}
    line(x0-round(i*mx/10),y0-3,x0-round(i*mx/10),y0+3);
    line(x0+3,y0-round(i*my/2),x0-3,y0-round(i*my/2)); {засечки на оси Y}
    line(x0+3,y0+round(i*my/2),x0-3,y0+round(i*my/2));
    {подпись оси Х}
    if i mod 2=0 then
     begin
      str(i/10:0:1,s);
      textout(x0+round(i*mx/10)-15,y0+10,s);
      textout(x0-round(i*mx/10)-15,y0+10,'-'+s);
     end;
   {подписи по оси Y}
    str(i/2:0:1,s);
    textout(x0-25,y0-round(i*my/2)-10,s);
    textout(x0-30,y0+round(i*my/2)-10,'-'+s);
  end;
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-15,y0-25,'X');
textout(x0+5,8, 'Y');
{график}
x:=a;
dx:=0.001;
while x<=b do
 begin
  x:=x+dx;
  setpixel(x0+round(x*mx),y0-round(y(x)*my),clBlue);
 end;
setfontsize(12);
setfontcolor(clBlue);
textout(x0+30,10,'       x<0  y=1+sqrt(|cos(x^2+1)|)');
textout(x0+30,30,'   0<=x<=1  y=-2*x-sqr(sin(x))');
textout(x0+30,50,'       x>1  y=e^(-cos^2(x))');
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru