Паскаль->Умножение полиномов

программирование математика паскаль

Всем привет!
Нужно написать процедуру умножения двух полиномов, заданных в виде линейного списка.
Вот что мне в голову пришло, но работает некорректно:

procedure mult(p1,p2:ptr); {полиномы в виде связанного списка(коэф, степень)}
var res,z,x,pom:ptr;
begin
res:=nil; z:=nil; x:=res;
while p1<>nil do
begin
pom:=p2;
while pom<>nil do
begin
new(z);
z^.koef:=-1*p1^.koef*pom^.koef;
z^.exp:=p1^.exp+pom^.exp;
add_elem(z,res,x); {процедура, добавляет узел z к списку res}
pom:=pom^.next;
end;
p1:=p1^.next;
end;
end;

Надеюсь на вашу помощь, заранее спасибо!

Примечание:
Andrronik
Задача: написать процедуру для умножения 2 полиномов
Вопрос: как это сделать?
то, что я написал, работает некорректно(в частности со знаками + и -, ставит их непонятно по каком принципу).
Возможно у меня ошибка в коде? Или это вообще как то по другому делается?
Ответы:
Ну и что, а чё не понятно и где вопрос?


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.