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

21 Авг 2019 в 06:58
253 +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 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир