Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
3 / 3 / 8
Регистрация: 25.11.2015
Сообщений: 127
1

Интеграл многочлена

11.12.2015, 14:24. Показов 1475. Ответов 2
Метки c++ (Все метки)

Написал класс для полинома, в массиве сохраняется коэффициенты (начиная с нуля, по возрастанию) все функции работают нормально, а вот интеграл не могу найти почему вычисляет не точно. Проблема походу в функции Integrate().
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
class Polinom {
    friend istream& operator>>(istream&,  Polinom&);
    friend ostream& operator<<(ostream& , const Polinom&);
private:
    static const int capacity=100;
    int current;
    int m_array[capacity];
public:
    Polinom() { for (int i=0; i<capacity; i++) m_array[i]=0; current=0;};
    Polinom(int*, const int );
    Polinom(Polinom& );
    bool operator>(const Polinom&)const;
    Polinom& operator+(const Polinom&);
    double Solving(double) const;
    double Integrate(double, double) const;
};
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include "Polinom_M.h"
#include <math.h>
Polinom::Polinom(int* arr, const int M) {
    for(int i=0; i<capacity; i++)
        m_array[i]=arr[i];
    current=M;
}
Polinom::Polinom(Polinom& m){
    for (int i=0; i<capacity; i++ )
        m_array[i]=m.m_array[i];
    current=m.current;
}
ostream& operator<<(ostream& output, const Polinom& P)
{ 
    for (int i=0; i<P.current; i++)
        output<<P.m_array[i]<<"X^"<<i<<" ";
    return output;
}
istream& operator>>(istream& input, Polinom& P) {
    std::cout<<"Enter the polinom! ";
    int ar[Polinom::capacity]={0};
    for(int i=0; i<Polinom::capacity; i++)
        input>>ar[i];
    for(int i=0; i<Polinom::capacity; i++)
        P.m_array[i]=ar[i];
    return input;
}
bool Polinom::operator>(const Polinom& P)const {
    return current>P.current;
}
Polinom& Polinom::operator+(const Polinom& P) {
    if(current<P.current) {
        for(int i=current; i<P.current; i++)
            m_array[i]=0;
            current=P.current; 
     for(int i=0; i<current; i++)
         m_array[i]+=P.m_array[i];
    }
    else 
        for(int i=0; i<P.current; i++)
            m_array[i]+=P.m_array[i];
    return* this;
}
double Polinom::Solving(double x)const {
    double d=0;
    for(int i=0; i<current; i++) {
        d+=m_array[i]*pow(x,i); }
    return d;
}
double Polinom::Integrate(double a, double b) const {
    double j=0;
    for(int i=0; i<current; i++)
        j+=(m_array[i]/(i+1))*(pow(b,(i+1))-pow(a,(i+1)));
    return j;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "Polinom_M.h"
#include <iostream>
int main() {
    int arr[]={5,1,3,4,4,5,5,6,8,9,10};
    Polinom P(arr,11);
    cout<<"P: "<<P<<endl;
    int arr2[]={0,5,0,2,3};
    Polinom U(arr2,5);
    std::cout<<"U: "<<U<<endl;
    std::cout<<"Integrate by a, b :"<<U.Integrate(0,1)<<endl;
    std::cout<<"P+U: "<<P+U<<endl;
    std::cout<<"Solving by x :"<<U.Solving(1)<<endl;
    
 
    return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2015, 14:24
Ответы с готовыми решениями:

Найти значение многочлена при заданном аргументе, производной от многочлена
Ребята всем привет,,,,прошу вас помогите мне,,,,у меня вопрос жизни или смерти!!!!если вы мне не...

Дифференцирование многочлена
Не знаю как написать программу. Очень надо. Голову всю сломал.

Решение многочлена
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; class mn {...

Найти значение многочлена
Помогите решить Перепишите задачу внутрь сообщения Добавлено через 32 минуты Вычислите...

2
1360 / 997 / 316
Регистрация: 28.07.2012
Сообщений: 2,759
11.12.2015, 14:28 2
Цитата Сообщение от DavidTs Посмотреть сообщение
m_array[i]/(i+1)
Целочисленное деление.
0
3 / 3 / 8
Регистрация: 25.11.2015
Сообщений: 127
11.12.2015, 14:48  [ТС] 3
nonedark2008,
Спасибо большое, не заметил: )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2015, 14:48

Вычисление значения многочлена
Даны действительные числа s и t, натуральное число n, действительные числа a1,...,an. Среди...

Умножение многочлена на многочлен
сгенерировать многочлен P(x) заданной степени N и умножить его на (x^2+2x+3) программу вроде...

Найти производную многочлена
Задача простая - найти производную многочлена. Многочлен может быть большой, но только с...

Найти коэффициенты многочлена
Друзья, приветствую, помогите решить одну заковыристую задачу на С++: Даны натуральное число n и...

Умножение многочлена на многочлен
Добрый день, имеется программа. Требуется составить описание класса многочлена ax^2+bx+c,...

Получить производную многочлена
Задание: Не понимаю, как это реализовать.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.