Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2009, 17:35   #1
Андрюха из ПХТТ
Пользователь
 
Регистрация: 04.01.2008
Сообщений: 21
По умолчанию Рекурсия зациклилась

Помогите исправить ошибку в Рекурсии
Код:
program rukzak_perebor;
uses crt;
const maxn=20;{?}
var n,w:integer;
weight,price:array[1..maxn]of integer;
best,now:array[1..maxn]of integer;
maxprice:longint;

procedure init;
var i:integer;
begin
read(n);
read(w);
for i:=1 to n do begin  writeln(i,' :produkcija'); read(weight[i]);end;
for i:=1 to n do begin writeln('vvedi stoimost',' ',i,' ','produkcii'); read(price[i]);end;
end;

procedure rec(k,w:integer;st:longint);
var i:integer;
begin
if (k>n) and (st>maxprice) then
begin
best:=now;
maxprice:=st;
end else
if k<=n then
for i:=0 to w div weight[k] do
begin
now[k]:=i;
rec(k+1,w-i*weight[k],st+i*price[k]);
end;
end;

begin
init;
rec(1,w,0);
writeln(' ',maxprice);
end.
при некоторых данных программа не может выйти из процедуры. например при таком:
6
420
1
2
3
4
5
6
10
20
30
40
50
10
Андрюха из ПХТТ вне форума Ответить с цитированием
Старый 12.05.2009, 19:07   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А мне интересно другое: откуда твоя рекурсия получает maxprice?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия. p@ul Помощь студентам 4 30.12.2009 14:46
Рекурсия Настенька..Блонди Паскаль, Turbo Pascal, PascalABC.NET 1 08.05.2009 12:27
си рекурсия world12_tk Помощь студентам 1 10.04.2009 23:06
Рекурсия Claster Помощь студентам 7 24.09.2008 20:52
Рекурсия vitekbest Помощь студентам 1 30.05.2008 22:22