2016-03-16 2 views
-1

Я пишу программу, которая занимается представлением многочлена в качестве связанного списка. Я понимаю, большинство из того, как писать код до полинома, однако мне трудно понять, как реализовать функцию 'degree()', чтобы вернуть наивысшую мощность в функции.Как вернуть степень в полиномиальную функцию?

Например, 3x^2 + 4x + 5

Функция должна возвращать '2'.

Спасибо!

+1

Вы хотите иметь длину связанного списка минус 1? Если нет, не могли бы вы показать, как выглядит ваш связанный список? – Julie

+0

Я не думаю, что мы можем помочь, не зная, как ваш многочлен представляется в виде списка. – Kevin

+0

вам нужно найти max pow, используя связанный список? или просто используйте связанный список для общей структуры ваших данных. –

ответ

0

A полином составлен из одного или нескольких условий.
A термин имеет базовую переменную, показатель и коэффициент .

3 x ^2 
| | | 
| | +-- Exponent 
| | 
| +---- base 
|  
+------ Coefficient 

В представляющий термин, основание не является необходимым; поэтому требуется только пары коэффициент и показатель.

Реализует термин как класс:

class Term 
{ 
    public: 
    signed int coefficient; 
    signed int exponent; 
}; 

Пусть знака термина представляется в знаке коэффициента поля.

Полином теперь становится контейнером Term:

typedef std::vector<Term> Polynomial; 

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

Ввод полинома остается в качестве упражнения для ОП.
Подсказка: поиск в Интернете для «C++ полинома» для примеров.

+0

Ну, 'коэффициент' может быть' double' ... –

Смежные вопросы