Mail.RuПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискВсе проекты

Помогите пожалуйста!

Ученик (118), на голосовании 3 года назад
Программа зациклилась и я не понимаю в чем дело вот код, подскажите что сделать чтобы адекватнее работала

const

n=20;

var

A: array [1..n] of integer;

i, p, m, j, k,g: integer ;

begin

writeln('Программа для нахождения трех, соответствующих условию, элементов массива');

writeln('Введите число');

g:=0;

readln(m);

for p := 1 to n do

begin

Writeln('введите число A', p, ' = ');

Read(A[p]);

end;

i:=1;

j:=1;

k:=1;

while (i <= n-2) and (g = 0) do begin

while (j <= n-1) and (g = 0) do begin

while (k <= n) and (g = 0) do begin

if a[i] + a[j] + a[k] = m then begin

writeln(i, ' ', j, ' ', k);

g:=1;

i+=1;

j:=1+i;

k:=1+j+i;

end;

end;

end;

if (g=0) then writeln('Не найдено')

end;

end.
Голосование за лучший ответ
у тебя итерации только по условию происходят
что значит, что индексы i, j и k меняются, только когда a[i] + a[j] + a[k] = m
Похожие вопросы
Также спрашивают