Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Рекурсия и списки

Автор: Sara 24.02.2004 4:18

дан полином

Код
type
TPolynom = ^TElement;
TElement = record
 coef: real;
 degree: integer;
 next: TPolynom;
end;


так вот надо инвертирвать(написать наоборот) полином НЕ используя for while repeat
полином: икс в степени что угодно + икс в степени что угодно и т.д. плюс к тому же при иксах могут стоять аргументы

Автор: ALex___ 24.02.2004 21:17

Код
procedure InvertPolynom(var Head: TPolynom);
var
P: Pointer;

procedure Rec(H: TPolynom);
begin

if H^.Next <> nil then begin
 Rec(H^.Next);
 H^.Next.Next := H;
end else Head := H

end;

begin

if Head <> nil then begin
 P := Head;
 Rec(Head);
 TElement(P^).Next := nil
end

end;


вот те рабочий код
как лучше сделать нинаю, только не спрашивай как оно
работает - это всё "путано путано и не понятно..."
но поставленная задача всё же в ауте