ВУЗ:
Составители:
Рубрика:
. Практикум по курсу «Алгоритмизация и программирование». Часть 2
}
Задача 6. Имеется односвязный список, определяющий полином. Требу-
ется вычислить значение полинома в заданной точке.
Используя прием прохода по всем элементам списка, рассмотренный ра-
нее (например, в задаче 1), вычисляем значение каждого слагаемого полинома
и добавляем его к переменной, хранящей сумму.
// определение функции вычисления значения полинома
// в точке x
float CalculatePolynom(Summand* head,float x)
{
float p_x=0;
if(head!=NULL)
{
Summand* current=head;
while(current!=NULL)
{
p_x+= current->a*pow(x, current->n);
current=current->next;
}
}
return p_x;
}
Задача 7. Имеется односвязный список, задающий полином. Требуется
привести подобные слагаемые (предполагается, что полином может состоять
из нескольких слагаемых с одинаковыми показателями степени).
Алгоритм решения данной задачи заключается в следующем. Берется
очередной элемент списка (переменная current), и просматриваются все
элементы, следующие за ним (переменная help). Если показатели степеней у
двух рассматриваемых элементов совпадают, то коэффициенты складываются
и помещаются в поле info узла, на который указывает current, а элемент
help из списка удаляется.
// определение функции приведения подобных слагаемых
// в полиноме
void SimilarSummand(Summand*& head)
{
Summand* current,*help,*prev;
current=head;
while(current!=NULL)
{
// поиск всех подобных слагаемых
65
. Практикум по курсу «Алгоритмизация и программирование». Часть 2
}
Задача 6. Имеется односвязный список, определяющий полином. Требу-
ется вычислить значение полинома в заданной точке.
Используя прием прохода по всем элементам списка, рассмотренный ра-
нее (например, в задаче 1), вычисляем значение каждого слагаемого полинома
и добавляем его к переменной, хранящей сумму.
// определение функции вычисления значения полинома
// в точке x
float CalculatePolynom(Summand* head,float x)
{
float p_x=0;
if(head!=NULL)
{
Summand* current=head;
while(current!=NULL)
{
p_x+= current->a*pow(x, current->n);
current=current->next;
}
}
return p_x;
}
Задача 7. Имеется односвязный список, задающий полином. Требуется
привести подобные слагаемые (предполагается, что полином может состоять
из нескольких слагаемых с одинаковыми показателями степени).
Алгоритм решения данной задачи заключается в следующем. Берется
очередной элемент списка (переменная current), и просматриваются все
элементы, следующие за ним (переменная help). Если показатели степеней у
двух рассматриваемых элементов совпадают, то коэффициенты складываются
и помещаются в поле info узла, на который указывает current, а элемент
help из списка удаляется.
// определение функции приведения подобных слагаемых
// в полиноме
void SimilarSummand(Summand*& head)
{
Summand* current,*help,*prev;
current=head;
while(current!=NULL)
{
// поиск всех подобных слагаемых
65
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »
