procedure solve(liko_skaitmenu, rezultatas : integer);
var i, j : integer;
begin
if (not baigti) and (liko_skaitmenu = 0) and (rezultatas = b) then
begin
for j := 1 to c do
WriteLn(ats[j]);
baigti := true;
end
else
for i := 1 to N do
begin
ats[liko_skaitmenu] := i;
solve(liko_skaitmenu-1,rezultatas + a[i]);
end;
end;
그래서 범위 초과 실행 오류가 발생하며 실제로 범위를 벗어났습니다. 이 함수로 수행하려고하는 것은 N 길이 배열에서 b와 같은 c 요소의 합을 찾으려고합니다. 도와주세요. 평가의 결과가 너무 rezultatas 및 baigti에 의존하기 때문에 liko_skatimenu이 0 일 때이 false로 평가 가능성이있다파스칼 범위 오버런