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

И снова она - математика! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Файловый ввод/вывод http://www.cyberforum.ru/cpp-beginners/thread240381.html
Ребят, не могу никак понять файловый ввод вывод текстовой информации в с++. Знаю сто открытие через fopen, а как создать сам текстовый файл в самой с++, а потом его считать?
C++ Трабл с "&&" #include<iostream> using namespace std; int main(){ int w,v,h,l,t; cin>>w>>v>>h>>l>>t; int x=h-w; if(x<0) x=x*(-1); int y=v*t; http://www.cyberforum.ru/cpp-beginners/thread240379.html
C++ operator[] в классе
Написал собственный класс, где хранит одномерный массив template <class TTT> public class List_TTT { public: TTT * data; int len; TTT& Get(int H) {return data;} // TTT& operator(int H) { return data; }
C++ Реализовать класс Account
Помогите решить задачку: Реализовать класс Account, представляющий собой банковский счет. В классе долж- ны быть четыре поля: фамилия владельца, номер счета, процент начисления и сумма в рублях. Открытие нового счета выполняется операцией инициализации. Необходимо вы- полнять следующие операции: сменить владельца счета, снять некоторую сумму денег со счета, положить деньги на счет, начислить...
C++ Простой вывод файла на экран http://www.cyberforum.ru/cpp-beginners/thread240353.html
Не могу вывести содержимое файла на экран. Что я не так делаю? Вот код программы: #include <iostream> #include <fstream> #include <iomanip> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <locale.h>
C++ Строки, надо для зачета срочно Помогите написать код срочно надо для зачета. Часто встречающаяся ошибка начинающих наборщиков – дважды записанное слово. Обнаружить и исправить такие ошибки. Заранее спасибо. подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.02.2011, 03:47     И снова она - математика!
только позавчера сдал, порядок задается от 1 до 9
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
//NewtonCotes.h
#pragma once
 
#include <cmath>
 
namespace NewtonCotes {
    const double  r[9] = { 0.5, 1./3, 3./8, 2./45, 5./288, 1./140, 7./17280, 8./28350, 9./89600 };
    const int P[9][10] = { {    1,     1,    0,     0,     0,     0,     0,    0,    0,     0 },
                   {    1,     4,    1,     0,     0,     0,     0,    0,    0,     0 },
                   {    1,     3,    3,     1,     0,     0,     0,    0,    0,     0 },
                   {    7,    32,   12,    32,     7,     0,     0,    0,    0,     0 },
                   {   19,    75,   50,    50,    75,    19,     0,    0,    0,     0 },
                   {   41,   216,   27,   272,    27,   216,    41,    0,    0,     0 },
                   {  751,  3577, 1323,  2989,  2989,  1323,  3577,  751,    0,     0 }, 
                   {  989,  5888, -928, 10496, -4540, 10496,  -928, 5888,   989,    0 },
                   { 2857, 15741, 1080, 19344,  5778,  5778, 19344, 1080, 15741, 2857 }};
class Formula {
protected:
    int n; //порядок метода от 1 до 9 
    int L; //количество подинтервалов на которые разбиваем [x1,x2]
    double x1;
    double x2;
private:
    double H() const { return std::fabs(x2 - x1) / L; } //длинна подинтервалов на которые разбиваем[x1,x2]
    double h() const { return H() / n; } //растояние между узлами интерполяции на каждом подинтервале
    double Ym( double (*f)(double), double x, int m ) const { return f( x + h() * m ); }
    double Sum( double (*f)(double), double x ) const;
public:
    Formula( int _n = 1, int _L = 1, double X1 = 0, double X2 = 0 ) : n(_n), L(_L), x1(X1), x2(X2) { if(x1 > x2) { x1 = X2; x2 = X1; }}
    double IntegralSum( double (*f)(double) ) const; //передаем ф-ю которую будем интегрировать
    void SetNInterpolation( int N ) { n = N; }
    void SetNumberOfIntervals( int _L ) { L = _L; }
    void SetX1( double X1 ) { x1 = X1; }
    void SetX2( double X2 ) { x2 = X2; }
};
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//NewtonCotes.cpp
#include "NewtonCotes.h"
 
double NewtonCotes::Formula::Sum( double (*f)(double), double x ) const
{
    double s(0);
    for( int i = 0; i <= this->n; i++ )
    s += NewtonCotes::P[n-1][i] * NewtonCotes::Formula::Ym( f, x, i );
    return s;
}
 
double NewtonCotes::Formula::IntegralSum( double (*f)(double) ) const
{
    double I(0);
    for( int i = 0; i < this->L; i++ )
    I += NewtonCotes::r[n-1] * h() * Sum( f, this->x1 + i * H() );
    return I;
}
Добавлено через 12 минут
 
Текущее время: 03:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru