Реализовать в виде класса набор подпрограмм для выполнения операций с многочленами от одной переменной: возведение в натуральную степень k и деление с остатком;
Есть ли какой-нибудь алгоритм для этих операций? Для возведения в степень хотела использовать уже реализованную функцию умножения, но не выходит. Может, ее изменить и доработать? Потому что после введения в степень результат мне нужно будет использовать.
умножение
koof - коэффициент при x;
stepen - степень x;
stepen[0] - свободный элемент;
mnogochlen mnogochlen :: operator *(mnogochlen m)
{mnogochlen d;
int i,j;
for (i=0;i<=100;i++)
{
d.koof[i]=0;
}
for (i=0;i<=stepen;i++)
{
for(j=0;j<=m.stepen;j++)
{
d.koof[i+j]+=koof[i]*m.koof[j];
}
}
d.stepen=m.stepen+stepen;
return d ;
}возведение в степень
Поманю, что результат затирается, и получается, что умножение идет уже с новыми коэффициентами, и в дальнейшем результат нельзя использовать. Как поправить положение?
void mnogochlen::stepeyn()
{int i,n,j;
mnogochlen d;
cout<<"Введите степень, к утороую нужно возвести многочлен"<>n;
if(n=0){d.stepen=0; d.koof[0]=1;}
else{
if(n=1) { d.stepen=stepen; for(i=0;i<=stepen;i++){d.koof[i]=koof[i];}}
else{for(i=2;i<=stepen;i++){d.koof[i]=koof[i];}}
for(i=0;i<=n;i++)
{for(j=0;j<=n;j++)
{
d.koof[i+j]+=koof[i]*d.koof[j];
}}
}
d.vivod();
}