Необходимо перевести две программы с паскаля на си++.
Код:
const
dx = 30; dy = 2; xn = 90; xk = 300; yn = 4; yk = 16;
var
x, y, z: real;
function f(x,y:real):real;
begin
f:=(exp((2/3)*ln(pi))+(ln((exp(3)*ln(y))-1)))/(exp((exp(1)-1))*(ln(x)));
end;
begin
x:=xn;
y:=yn;
writeln(' x y z');
writeln('-----------------');
repeat
z:=f(x,y);
writeln( x:1:1, ' ':3, y:1:1, ' ':3, z:5:3);
x:=x+dx;
y:=y+dy;
until (x>xk)and(y>yk);
readln;
end.
У меня получилось
Код:
int dx=30, dy=2, xn=90, xk=300, yn=4, yk=16;
float x, y, z;
char other;
float func(float x, float y)
{
return exp((2/3)*LnXP1(3.1451))+(LnXP1((exp(3)*LnXP1(y))-1))/(exp((exp(1)-1))*(LnXP1(x)));
}
int main(int argc, char* argv[])
{
x=xn;
y=yn;
printf("x y z\n");
printf("_____________\n");
do
z = func(x, y);
cout << x, y, z;
x = x + dx;
y = y + dy;
while ((x > xk) && (y > yk));
scanf("%d", other);
return 0;
}
Сие творение не работает как надо. Помогите разобраца. Скорее всего с циклом что-то не то, но не могу понять что именно.