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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
besbyblik
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 77
#1

класс, моделирующий многочлены n – го порядка - C++

27.12.2011, 00:54. Просмотров 950. Ответов 1
Метки нет (Все метки)

Разработайте класс, моделирующий многочлены n – го порядка от одной переменной. В
классе должен быть конструктор копирования и оператор присваивания. Перегрузите
оператор ~ для вычисления первой производной многочлена. Напишите тестирующую
программу, в которой задайте некоторый многочлен и вычислите его производную

помогите,пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2011, 00:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос класс, моделирующий многочлены n – го порядка (C++):

Реализовать класс Bankomat, моделирующий работу банкомата - C++
Ребят беда, такая интересная задачка попалась мне, вроде ничего особенного но посмотрев глубже показалось очень тяжкой, половина реализаций...

Реализовать класс Bankomat моделирующий работу банкомата. - C++
Реализовать класс Bankomat моделирующий работу банкомата. В классе должны содержатся поля для хранения идентификационного номера банкомата,...

Спроектируйте с использованием TDD класс CTVSet , моделирующий телевизор - C++
Спроектируйте с использованием TDD класс CTVSet , моделирующий телевизор, который может находиться либо в выключенном, либо включенном...

Разработать класс, моделирующий массив целых чисел и его обработку - C++
Привет. хотелось бы обратиться к тем, кто хорошо разбирается в программировании. у меня вызвала огромные затруднения тема связанная с...

Реализовать класс Account моделирующий операции с банковским счётом (по книге Дейтелов) - C++
Начал изучать С++ по Дейтелам, застрял на одной задаче. Я считаю, что проблема в set-функции, но на 100% не уверен, перечитал несколько раз...

Объект внутри класса. Напишите класс Geo, моделирующий географические координаты на поверхности Земли - C++
Ребят, помогите решить задачу, пожалуйста. Чтт никак не получается :( Напишите класс Geo, моделирующий географические координаты на...

1
insolent
826 / 344 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
27.12.2011, 02:47 #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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include <iostream>
 
using namespace std;
 
class Polynomial
{
private:
    double *coef;           // массив коэффициентов 
    int n;                  // степень полинома 
 
public:
    Polynomial(): n(-1), coef (NULL) {};    // пустой конструктор для инициализации
                                            //экземпляров и массивов экземпляров класса по умолчанию
    Polynomial(double c);
    Polynomial(int s, double* noef);
    // копирующий конструктор
    Polynomial( const Polynomial & p );     
    ~Polynomial();
 
    //инициализация
    void Init (const int n_, double * coef_ ); 
 
    // перваая производная полинома
    Polynomial operator ~ ();           
    //оператор присваивания
    Polynomial & operator = ( const Polynomial & p );  
 
    // ввод экземпляров класса из входного потока
    friend istream & operator >> ( istream & in, Polynomial & p );         
    // вывод в выходной поток
    friend ostream & operator << ( ostream & out, const Polynomial & p );  
};
 
// копирующий конструктор
Polynomial::Polynomial( const Polynomial & p )
{
    coef =  NULL; //помечаем как непроинициализированный
    Init( p.n, p.coef ); //инициализируем данными входящего класса
}
 
Polynomial::Polynomial(double c): n(0) //инициализация одним числом
{
    coef = new double [1];
    coef[0] = c;
}
 
Polynomial::Polynomial(int s, double* noef)
{
    coef = NULL;
    Init (s, noef);
}
 
Polynomial::~Polynomial() 
{
    if (coef!=NULL) delete [] coef; //очищаем память
}
 
// функция инициализации
void Polynomial::Init(const int n_, double * coef_)
{
    n = n_; 
    if (coef!=NULL) 
        delete [] coef; //удаляем, если что-то уже есть
    coef  = new double [n+1]; //выделяем память
    memcpy( coef, coef_, (n+1)*sizeof(double) ); //копируем данные
 
}
 
// перваая производная полинома
Polynomial Polynomial::operator ~ ()
{
    Polynomial res;
    res.n = n-1; //понижаем степень
    res.coef = new double [n]; //выделяем память
    for (int i = 1; i<n+1; i++) 
        res.coef[i-1] = coef[i]*i; //получаем новые коэффициенты путём умножения на степень
    return res;
}
 
// переопределение экземпляра класса
Polynomial & Polynomial::operator = ( const Polynomial & p )
{
    Init( p.n, p.coef); //инициаизируем входящим
    return *this;
}
 
istream & operator >> ( istream & in, Polynomial & p )
{
    int n = -1;
    cout << "please, enter the Polynomial power: ";
    while ( n < 0 )
        in >> n;
    cout << "please, enter the Polynomial coefficients: " << endl;
    double *coef = new double [n+1];
    for ( int i = n; i >= 0; i-- )
    {
        cout << "x^" << i << ":";
        in >> coef[i]; 
    }
    p.Init (n, coef);
    return in;
}
 
// вывод полинома в выходной поток
ostream & operator << ( ostream & out, const Polynomial & p )
{
    if ( p.n<0 )
    {
        out << "Not exists" << endl;
        return out;
    }
    out << "P(x) = " << p.coef[p.n] <<
        "*x^" << p.n << " + ";
    for ( int i = p.n-1; i >= 0; i-- ){
        out << p.coef[i];
        if (i!=0) out << "*x^" << i <<
            " + ";
    }
    out << endl;
    return out;
}
 
int main()
{
    Polynomial p1;
    double a[] = { 1, 2, 3, 4};
    Polynomial p2(3, a);
    Polynomial p3;
 
    cin >> p3;
    cout << "p1 = " << p1 
         << "p2 = " << p2 
         << "p3 = " << p3;
    p1 = ~p2;
    cout << "p1 = " << p1;
 
    system("PAUSE");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2011, 02:47
Привет! Вот еще темы с ответами:

Как можно сформировать массив кнопок, моделирующий шахматную доску? - C++
Как можно сформировать массив кнопок, моделирующий шахматную доску?

Многочлены - C++
http://s003.***********/i202/1001/dc/6e8447711438.png

Многочлены - C++
http://s44.***********/i106/1001/93/421c17bb2f28.png Прошу помочь решить\ или хоть популярно объяснить.

Многочлены над GF(2^m) - C++
Пишу кодер Рида-Соломона. Дано следующее: * m - количество битов в одном символе (читай, элементов поля GF(2^m)); * n - длина кода...


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

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

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