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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сжать одномерный массив целых чисел http://www.cyberforum.ru/cpp-beginners/thread1185684.html
Есть одномерный массив целых чисел от 0 - 65 535. Необходимо создать класс который сожмет этот массив, но при этом будет доступно обращению по индексу для чтения и записи. Пройтись по массиву...
C++ Перегрузка функций АТД - множество с элементами типа int. Дополнительно перегрузить следующие операции: «+» - добавить элемент в множество(типа int + set); «–» - вычитание множеств (дружественная функция) «==» -... http://www.cyberforum.ru/cpp-beginners/thread1185634.html
Задача на текстовые файлы и их использование C++
С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT....
C++ Описать структуру с именем "Train" и программу, работающую с массивом таких структур
1. Описать структуру с именем TRAIN, содержащую поля: - NAZN - название пункта назначения; -NUMR - номер поезда; -TIME - время отправления. 2. Написать программу, выполняющую следующие действия...
C++ Ошибка в коде. Из числового множества A мощности n выбрать все подмножества http://www.cyberforum.ru/cpp-beginners/thread1185612.html
С числовой множества A мощности n выбрать все подмножества, сумма элементов каждого из которых лежит в пределах от a до b / С++ для начинающих , ВОТ КОД #include <iostream> using namespace std;...
C++ класс наследник на основе базового класса ----- подробнее

Показать сообщение отдельно
Sophi
0 / 0 / 0
Регистрация: 04.01.2014
Сообщений: 4

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

23.05.2014, 10:39. Просмотров 549. Ответов 2
Метки (Все метки)

Задание
Вариант 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;
}
Ошибок никаких не выдает, но и программа не работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru