Как правильно реализовать возведение полинома в степень? Добрый вечер.
Проблема возникла такая, не могу понять как правильно возводить полином в степень.
Так хранится полином:class Polynom {
private:
int deg; //степень полинома
double *koef; //указатель на массив коэффициентов полинома
Есть перегруженный оператор умножения (*) между объектами, но он не следит за степенями, то есть
При умножении полинома на полином, результирующий полином необходимо инициализировать какPolynom "имя объекта"(степень первого полинома умножаемого + степень второго умножаемого);
Таким образом вызовется конструктор выделяющий память под необходимое кол-во элементов.
Конструктор:Polynom::Polynom(int count)
{
deg=count;
koef=new double[deg+1];
}
А вот как реализовать адекватное возведение в степень при этом инициализировать результирующий полином необходимой степень, не понимаю
Может получится реализовать это в самой функции возведения в степени
Подскажите, пожалуйста, кому не сложно и понимает.

21 Авг 2019 в 06:58
232 +1
0
Ответы
1

Для реализации возведения полинома в степень, вам необходимо создать функцию, которая будет принимать объект класса Polynom и степень, в которую нужно возвести полином. Далее, в этой функции вы можете создать новый объект класса Polynom, инициализировав его степень как произведение степени исходного полинома на заданную степень.

Внутри этой функции вы можете использовать цикл, в котором будет производиться умножение исходного полинома самого на себя заданное количество раз (равное заданной степени - 1). При этом каждый раз будет создаваться временный объект класса Polynom для хранения промежуточного результата умножения.

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

Пример кода:

Polynom raiseToPower(const Polynom &p, int power) {
Polynom result(p.getDeg() * power); // инициализация нового объекта с нужной степенью
result.setKoef(p.getKoef()); // копирование коэффициентов исходного полинома
for (int i = 1; i < power; i++) {
Polynom temp = result * p; // умножение результата на исходный полином
result = temp; // обновление результата
}
return result;
}

При вызове этой функции с исходным полиномом p и степенью power, вы получите новый объект класса Polynom, содержащий исходный полином, возведенный в степень power.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир