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

Помогите с Pascal((( Почему образуется бесконечный цикл?

Вшивый Погромист Ученик (95), закрыт 1 год назад
Задача:
______________________
Даны целые числа K, N, а также K наборов целых чисел по N элементов в каждом наборе. Найти количество наборов, содержащих число 2. Если таких наборов нет, то вывести 0.
______________________
Мой код:

var
k,n,i,j,a,count:integer;

begin
write('K = ');
readln(k);
write('N = ');
readln(n);
for i:=1 to k do
begin
j:=0;
while (a<>2) or (j<n) do
begin
read(a);
inc(j);
end;
if a=2 then inc(count);
a:=0;
end;
writeln('Кол-во наборов, содержащих 2: ',count);
end.

Давайте введём K = 4 (4 набора) и N=3 (3 элемента в каждом наборе).
Смотрите, там read(a), поэтому я ввожу a=2, и цикл почему-то не заканчивается, хотя должен

Я думаю, это как-то связано с тем, что я использовал "or", у меня уже возникало необъяснимые проблемы с ним ранее...
Лучший ответ
Андрей Высший разум (483774) 6 лет назад
Потому, что OR - это ИЛИ. Цикл продолжается, пока a <> 2 ИЛИ j < n.
Остальные ответы
Похожие вопросы