Показать сообщение отдельно
Старый 29.05.2005, 08:52     # 1
Polygon_w
Guest
 
Сообщения: n/a

Требуется превести две программы

Необходимо перевести две программы с паскаля на си++.

Код:
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;
}
Сие творение не работает как надо. Помогите разобраца. Скорее всего с циклом что-то не то, но не могу понять что именно.