Форум «Всё о Паскале» _ Задачи _ НОД двух многочленов!
Автор: Andrey13 14.05.2006 18:07
Задали задачку - реализовать подпрограммы для работы с многочленами. Я сделал все операции (+ - * / неравенство), и теперь, используя их необходимо создать программму нахождения НОД двух многочленов. Я сделал следующее(используя алгоритм Евклида):
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 14.05.2006 18:59
Andrey13, ты полностью программу присоедини, неясно что именно у тебя происходит в divMnog...
Автор: Andrey13 14.05.2006 20:40
Цитата(volvo @ 14.05.2006 14:59)
Andrey13, ты полностью программу присоедини, неясно что именно у тебя происходит в divMnog...
вот модуль и сама программа очень надеюсь на помощь!