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

Переделать программу написанную на Pascal в С++ - C++

Восстановить пароль Регистрация
 
Sophi
0 / 0 / 0
Регистрация: 04.01.2014
Сообщений: 4
23.05.2014, 10:39     Переделать программу написанную на Pascal в С++ #1
Задание
Вариант 1
Вычислить определенный интеграл от функции f(x) на промежутке [a, b] методом прямоугольников.
f(x) = 2sin x cos x + sin x, a = 0, b = 1,
число разбиений n = 10; 40; 160; 640.
F(x) = sin2x –cosx.

Программа на Pascal в общем виде:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
Метод центральных прямоугольников для вычисления определенного интеграла.
a, b – границы интервала интегрирования,
n – число разбиений,
s – результат (значение определенного интеграла),
f – подынтегральная функция (должна быть определена выше).
}
procedurerect(a, b: real; n: integer; vars: real);
var
h, x: real; {h пЂ* шаг интегрирования, 
    x пЂ* текущее значение переменной интегрирования}
    i: integer:
begin
    s:= 0; 
h:= (b - a)/n; {определение шага интегрирования}
x := a+h/2;
    fori:= 1 to n do begin
        s:= s + f(x);
        x:= x + h;
    end;
    s:= s*h;
end;
Вот что я пыталась сделать:

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
// matan_integr.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <math.h>
 
using namespace std;
double f(double x)
{double z=sin(x);
    double r=pow(z,2)+cos(x);
return r;}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n=10;
    //cout<<"vvedite 4islo razbienii"<<endl;
    //cin>>n;
    double a=0;
    double b=1;
    double s=0;
    double h=(b-a)/2;
    double x=a+h/2;
    double s1;
    for(int i=1; i<n;)
    {s1=s+f(x);
    double X=x+h;}
    double s2=s1*h;
        cout<<"ploschad' ravna:"<<s2<<endl;
    system("pause");
    return 0;
}
Ошибок никаких не выдает, но и программа не работает
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 10:39     Переделать программу написанную на Pascal в С++
Посмотрите здесь:

Переделать с Pascal на C. C++
C++ переделать программу из Pascal в язык С
C++ Как запустить программу на C++ написанную в VS 2008
C++ Нужно перевести небольшую программу, написанную на C++, на С (неповторяющиеся символы в строке)
переделать программу из pascal в C++ C++
переделать программу Pascal -> C++ (Восстановить исходную матрицу и напечатать ее по строкам) C++
Перевести программу,написанную на паскале,на язык си++ C++
Откомпилировать и выполнить написанную программу из блокнота в Dev-C++ 4.9.9.2 C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
23.05.2014, 11:45     Переделать программу написанную на Pascal в С++ #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
for(int i=0; i<n; ++i) //27 строка
26 строку убрать. s1 заменить на s.
C++
1
x=x+h;} // 29 строка
Sophi
0 / 0 / 0
Регистрация: 04.01.2014
Сообщений: 4
23.05.2014, 15:53  [ТС]     Переделать программу написанную на Pascal в С++ #3
Спасибо, программа работает, но как оказалось неправильно...
Yandex
Объявления
23.05.2014, 15:53     Переделать программу написанную на Pascal в С++
Ответ Создать тему
Опции темы

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