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

Перевести программу с языка Паскаль в язык С++ - C++

Восстановить пароль Регистрация
 
kameliya
2 / 2 / 1
Регистрация: 23.05.2011
Сообщений: 27
09.11.2011, 00:01     Перевести программу с языка Паскаль в язык С++ #1
Имееться задача на Pascale:
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
{Метод Ньютона решения нелинейного уравнения}
program Newton;
uses crt; {модуль управления экраном}
 
function f(x:real):real; {Исходная функция}
begin
 f:=sqr(sqr(x))-5*sqr(x)-x+1;
end;
 
function f1(x:real):real; {Первая производная функции}
begin
 f1:=4*x*sqr(x)-10*x-1;
end;
 
var a,b,x,e,en:real;
    i:integer;
 
begin
 clrscr; {очистить экран}
 writeln ('Решение нелинейного уравнения методом Ньютона');
 writeln ('Уравнение x^4+5x^2-x+1=0');
 write ('Введите левую и правую границы интервала:');
 read (a,b);
 write ('Введите требуемую точность решения:');
 read (e);
 writeln ('Решение:');
 writeln ('Номер шага Значение X');
 en:=abs(a-b);
 x:=b;
 i:=1;
 while (abs(en)>e) do begin {Пока не достигнута точность}
  x:=x-f(x)/f1(x); {выполнить шаг метода}
  writeln (i:10,x:20:14); {вывести значение X с шага}
  en:=abs(x-b); {Новая точность}
  b:=x; {Значение границы для следующего шага}
  i:=i+1; {Номер шага}
 end;
end.
 Комментарий модератора 
Используйте теги форматирования кода!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
09.11.2011, 00:44     Перевести программу с языка Паскаль в язык С++ #2
C++
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
#include <iostream>
#include <cmath>
#include <stdlib.h>
using namespace std;
 
double f(double x)
{
    return pow(x, 4) - (5.0 * pow(x, 2) - x + 1.0);
}
 
double f1(double x)
{
    return (4.0 * x * pow(x, 2)) - (10.0 * x - 1.0);
}
 
int main()
{
    double a, b, x, e, en;
    int i;
    setlocale(LC_ALL, "Russian");
    cout << "Решение нелинейного уравнения методом Ньютона" << endl;
    cout << "Уравнение x^4+5x^2-x+1=0" << endl;
    cout << "Введите левую и правую границы интервала:" << endl;
    cin >> a;
    cin >> b;
    cout << "Введите требуемую точность решения:" << endl;
    cin >> e;
    cout << "Решение:" << endl;
    cout << "Номер шага Значение X" << endl;
    en = abs(a - b);
    x = b;
    i = 1;
    while (abs(en) > e) {
        x -= f(x) / f1(x);
        cout << i << " x= " << x << endl;
        en = abs(x - b);
        b = x;
        i++;
    }
 
    return 0;
}
kameliya
2 / 2 / 1
Регистрация: 23.05.2011
Сообщений: 27
09.11.2011, 00:52  [ТС]     Перевести программу с языка Паскаль в язык С++ #3
Спасибо огромное!!!!
LostCoast
09.11.2011, 00:59
  #4
 Комментарий модератора 
3.9 Запрещено накручивать репутацию любым способом, включая создание пользователей-клонов, а также склонять (агитировать) других пользователей к ее повышению.
AlexGig
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 4
22.04.2013, 19:18     Перевести программу с языка Паскаль в язык С++ #5
Ребят помогите перевести, С++ вообще не знаю.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
programvisota;
usescrt;
var
h, a, b, c, p, S: real;
begin
writeln('vveditechrezprobelstoroniteugolnika a, b, c');
readln(a,b,c);
p:=(a+b+c)/2; {poluperimetrtreugolnika}
S:=sqrt(p*(p-a)*(p-b)*(p-c)); {poformule}
h:=(2*S)/a; {visota k storone a}
writeln('Visota k storone a ravna: ', h);
readkey;
end.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
programzadacha;
var
a:array[0..9] of longint;
i,j,k:integer;
begin
a[0]:=1;
For i:=1 to 9 do
a[i]:=a[i-1]*i;
for i:=1 to 9 do
for j:= 0 to 9 do
For k:=0 to 9 do
if a[i]+a[j]+a[k]=i*100+j*10+k then writeln(a[i],'+',a[j],'+',a[k],'=',i*100+j*10+k);
end.
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
Var A:array[1..100] of integer;
i,n,t:integer;
Begin
write('Vvediterazmernost ');readln(n);
writeln('Ishodnimassiv: ');
    For i:=1 to n do
     Begin
      A[i]:=random(30)-15;
write(A[i]:4);
     End;
writeln;
writeln('Preorazovani: ');
i:=0;
    While i<n-1 do
     Begin
inc(i,1);
t:=A[i];
      A[i]:=A[i+1];
A[i+1]:=t;
inc(i,1);
     End;
     For i:=1 to n do   
write(A[i]:4);
readln;
end.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
program zadnie2;
usescrt;
var a, b: integer; s1, s2: real;
begin
writeln ('vvedite radius kruga');
readln (a);
writeln ('vveditedlinustoronikvadrata');
readln (b);
      s1:=3.14*sqr(a);
      s2:=sqr(b);
if s1>s2 then writeln ('ploshadkrugabolsheploshadikvadrata: ', s1, '>', s2)
elsewriteln ('ploshadkvadratabolsheploshadikruga: ', s1, '<', s2);
end.
Курс лекций был в Новосибирске, теперь практика началась, бегаю все отрабатываю, выручите ребята, горю... =(
Yandex
Объявления
22.04.2013, 19:18     Перевести программу с языка Паскаль в язык С++
Ответ Создать тему
Опции темы

Текущее время: 02:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru