Помощь - Поиск - Пользователи - Календарь
Полная версия: НОД двух многочленов!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Andrey13
Задали задачку - реализовать подпрограммы для работы с многочленами. Я сделал все операции (+ - * / неравенство), и теперь, используя их необходимо создать программму нахождения НОД двух многочленов.
Я сделал следующее(используя алгоритм Евклида):
procedure NODMnog(f,g:mnogochlen; var r:mnogochlen);
var
a,b:mnogochlen;

begin
clearMnog(a);clearMnog(b);clearMnog( r );

repeat
divMnog(f,g,a,b);
if mnogMoreThanZero(b)=false then r:=g else
begin
f:=g;
g:=b;
end;
until mnogMoreThanZero( r )=true;

end;

Функции:
divMnog(многочлен1,многочлен2,результ.мног,остаток)
mnogMoreThanZero(многочлен)=Если многочлен имеет хотябы 1 коэфф, то истина, иначе - ложь
Многочлен задан массивом его коеффицентов.

Проблема вышла в следующем - алгоритм не находит НОД для многочленов, имеющих более 1 члена =(

Пожалуйста, помогите кто чем сможет - завтра сдача!
volvo
Andrey13, ты полностью программу присоедини, неясно что именно у тебя происходит в divMnog...
Andrey13
Цитата(volvo @ 14.05.2006 14:59) *

Andrey13, ты полностью программу присоедини, неясно что именно у тебя происходит в divMnog...

вот модуль и сама программа
очень надеюсь на помощь!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.