Вопрос по задаче №9 из главы 11 -- Пользователь вводит целые числа в цикле

Задача №9

Пользователь вводит целые числа в цикле (разные: четные, нечетные, положительные, отрицательные в любом порядке и количестве). Считайте и выведите на экран значения первых трех отрицательных нечетных чисел. После чего завершите цикл.

Не срабатывает первое условие if ((a mod 2 = 1) and (a

var a, sum, count:integer;
begin

  sum := 0;
  count := 0;
  while(true) do
  begin
    write('Please enter the number: ');
    readln(a);

    if ((a mod 2 = 1) and (a < 0)) then
    begin
      sum += a;
      count += 1;
    end;

    if (count = 3) then
    begin
      writeln('Sum of the first three negative odd numbers = ', sum);
      break;
    end;
  end;

  readln();
end.
vedro-compota's picture

while(true) do

не очень хорошая идея, лучше использовать явное условие выхода из цикла с каким-то счетчиком

writeln('Sum of the first three negative odd numbers = ', sum);

-- это лучше выводить уже после выхода из цикла, нет нужны все запихивать внутрь

_____________
матфак вгу и остальная классика =)