перевод с Pascal в C++, ну не знаю я С++ :)

Тема в разделе "Общие вопросы по С и С++", создана пользователем roobpass, 24 апр 2009.

  1. roobpass

    roobpass Гость

    Добрый день уважаемые программисты.
    Прошу помочь мене с переводом программы с Pascal в C++. На Pascal составить программу могу (знаю этот язык еще с школы), а вот с С++ проблема.
    Я не прошу написать за меня программу. Кто отзовется буду благодарен. Вот сама программа:
    [codebox]uses crt;
    var
    yx,xy,l,v,p,ff,ay,by,x:array [0..10] of real;
    y,a,b:array[0..10,0..1] of real;
    i,n,o:integer;
    c,d,h,k:real;
    label
    lap1;
    begin
    clrscr;
    writeln('введите наивысший порядок производной не больше трех ');
    readln(n);
    if n=0 then begin
    writeln('это прямолинейная зависимость и решается без метода Эйлера ');
    goto lap1;end;
    writeln('введите коэффициенты {a0,a1}');
    for i:=0 to n do
    readln(l);
    if (n=1) and (l[1]=0) or (n=2) and (l[2]=0) or (n=3) and (l[3]=0) then begin
    writeln('деление на ноль');
    goto lap1;
    end;
    writeln('введите коэффициент при x');
    readln(k);
    writeln('введите отрезок ');
    readln(c,d);
    o:=5;
    h:=abs(d-c)/o;
    writeln('шаг=',h:1:1);
    writeln('задайте начальные условия y(x)= ');
    for i:=0 to n-1 do
    readln(v);
    if n=3 then begin
    yx[0]:=v[0];
    ay[0]:=v[1];
    by[0]:=v[2];
    p[0]:=(k*c-l[0]*v[0]-l[1]*v[1]-l[2]*v[2])/l[3];
    x[0]:=c;
    gotoxy(32,1);
    write(' ');
    gotoxy(32,2);
    write(' x y a b ');
    gotoxy(32,3);
    write(' ',c:7:7,' ',yx[0]:7:7,' ',ay[0]:7:7,' ',by[0]:7:7,' ');
    for i:=0 to o-1 do begin
    x:=x+h/2;
    y[i,1]:=yx+(h/2)*ay;





    a[i,1]:=ay+(h/2)*by;
    b[i,1]:=by+(h/2)*p;
    ff:=(k*x-l[0]*y[i,1]-l[1]*a[i,1]-l[2]*b[i,1])/l[3];
    xy:=x+h/2;
    yx[i+1]:=yx+h*a[i,1];
    ay[i+1]:=ay+h*b[i,1];
    by[i+1]:=by+h*ff;
    x[i+1]:=x+h/2;
    p[i+1]:=(k*xy-l[0]*yx[i+1]-l[1]*ay[i+1]-l[2]*by[i+1])/l[3];
    end;
    for i:=0 to o-1 do begin
    gotoxy(32,4+i);
    write(' ',xy[i]:7:7,' ',yx[i+1]:7:7,' ',ay[i+1]:7:7,' ',by[i+1]:7:7,' ');
    end;
    gotoxy(32,4+o);
    write(' ');
    end;
    if n=2 then begin
    x[0]:=c;
    yx[0]:=v[0];
    ay[0]:=v[1];
    p[0]:=(k*c-l[0]*yx[0]-l[1]*v[1])/l[2];
    gotoxy(32,1);
    write(' ');
    gotoxy(32,2);
    write(' x y a ');
    gotoxy(32,3);
    write(' ',c:7:7,' ',yx[0]:7:7,' ',ay[0]:7:7,' ');
    for i:=0 to o-1 do begin
    x[i]:=x[i]+h/2;
    y[i,1]:=yx[i]+(h/2)*ay[i];
    a[i,1]:=ay[i]+(h/2)*p[i];
    ff[i]:=(k*x[i]-l[0]*y[i,1]-l[1]*a[i,1])/l[2];
    xy[i]:=x[i]+h/2;
    yx[i+1]:=yx[i]+h*a[i,1];
    ay[i+1]:=ay[i]+h*ff[i];
    x[i+1]:=x[i]+h/2;
    p[i+1]:=(k*xy[i]-l[0]*yx[i+1]-l[1]*ay[i+1])/l[2];
    end;
    for i:=0 to o-1 do begin
    gotoxy(32,4+i);
    write(' ',xy[i]:7:7,' ',yx[i+1]:7:7,' ',ay[I+1]:7:7,' ');
    end;
    gotoxy(32,4+o);
    write(' ');
    end;
    if n=1 then begin
    x[0]:=c;
    yx[0]:=v[0];
    p[0]:=(k*x[0]-l[0]*yx[0])/l[1];
    for i:=0 to o-1 do begin
    x[i]:=x[i]+h/2;
    y[i,1]:=yx[i]+(h/2)*p[i];
    xy[i]:=x[i]+h/2;




    ff[i]:=(k*x[i]-l[0]*y[i,1])/l[1];
    yx[i+1]:=yx[i]+h*ff[i];
    x[i+1]:=x[i]+h/2;
    p[i+1]:=(k*xy[i]-l[0]*yx[i+1])/l[1];
    end;
    gotoxy(32,1);
    write(' ');
    gotoxy(32,2);
    write(' x y ');
    gotoxy(32,3);
    write(' ',c:7:7,' ',yx[0]:7:7,' ');
    for i:=0 to o-1 do begin
    gotoxy(32,4+i);
    write(' ',xy[i]:7:7,' ',yx[i+1]:7:7,' ');
    end;
    gotoxy(32,o+4);
    write(' ');
    end;
    lap1:readln;
    delay(10000);
    clrscr;
    end.[/codebox][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Именно это вы и просите
     
  3. roobpass

    roobpass Гость

    переделать*
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
  5. ReDBoss

    ReDBoss Гость

    Народ помогите перевести этот отрывок теста с Pascal на С++,просто оч нужно.За ранее спасибо
    Program TEST;
    Var rightcount:byte;
    answer:byte;

    begin
    RightCount:=0;
    writeln('Выбери правильный ответ ');
    writeln('Кто?');
    writeln('1 - Y');
    writeln('2 - ti');
    writeln('3 - ona');
    writeln('4 - oni');
    readln (answer);
    if (answer=1) then inc (RightCount);
    writeln('Kol prav onvetov:',rightCount);
    readln;
    end.
     
Загрузка...
Похожие Темы - перевод Pascal C++
  1. Dock1100
    Ответов:
    5
    Просмотров:
    3.434
  2. FaRReLL
    Ответов:
    0
    Просмотров:
    908
  3. FaRReLL
    Ответов:
    0
    Просмотров:
    654
  4. FaRReLL
    Ответов:
    0
    Просмотров:
    762
  5. FaRReLL
    Ответов:
    0
    Просмотров:
    711

Поделиться этой страницей