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

Декларация класса полинома - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2010, 08:21     Декларация класса полинома #1
Как лучше задекларировать класс полинома n-ного порядка от m различных x с мультипликативными членами суммарной степени <=n? Например, при n=3, m=2, должны поддерживаться выражения вида^
a00+a10*x1+a20*x1^2+a30*x1^3+a01*x2+a11*x1*x2+a21*x1^2*x2+a02*x2^2+a12*x1*x^2+a03*x2^3
где ^ - символ возведения в степень.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2010, 08:21     Декларация класса полинома
Посмотрите здесь:

Умножение полинома C++
[C++] декларация класса со статическим полем C++
Error: ISO C++ forbids declaration of "Link" with no type C++
C++ декларация в классе
Что такое forward декларация функции? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
21.10.2010, 10:48     Декларация класса полинома #2
А в чем проблема-то? Внутреннее представление - просто матрица коэффициентов:
Код
    00    01    02    03..... -> коэффициенты при a^0, a^1, a^2......
00
01
02
03
....
 |
 V
переменные: x0, x1, x2, x3.....
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2010, 10:54  [ТС]     Декларация класса полинома #3
C++
1
2
protected:
 double **Koefficients;
? А интерфейс как лучше задекларировать? Конструктор какие параметры должен иметь? Только n и m?

Добавлено через 2 минуты
Цитата Сообщение от CheshireCat Посмотреть сообщение
А в чем проблема-то?
Проблема в том, что именно на этой простейшей задаче я чего то заглючил. Причём, именно с декларацией, реализация проблем не вызовет.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
21.10.2010, 11:47     Декларация класса полинома #4
Что касается реализации, то я бы использовал вместо double **Koefficients; плюсовую конструкцию std::valarray<double> Koefficients;
Касательно же интерфейса - он определяется тем, как будет использоваться данный класс полинома. То есть, в идеале ты сначала пишешь тесты - unit tests (по сути, описываешь использование, use cases) для твоего полинома; а потом добиваешься, чтобы реализация соответствовала и тесты все проходили.
Yandex
Объявления
21.10.2010, 11:47     Декларация класса полинома
Ответ Создать тему
Опции темы

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