Сделал программу нахождения наибольшего общего делителя, но почему-то функция повторяется.
var p,q:integer;
function nod(x,y: integer):integer;
begin
while y<>0 do nod(y,x mod y);
result:=x;
end;
begin
write('Enter two integers: ');
read(p,q);
write(nod(p,q));
end.
y
, чтобы решить, когда остановить цикл, но вы никогда не делаете ничего, что могло бы изменить значениеy
, чтобы остановить его. Очевидно, вам нужно исправить свой код, чтобы значениеy
менялось при каждом проходе цикла, пока не будет выполнено условие прерывания (y = 0
). - person Ken White   schedule 04.04.2014