задача 10 урок 11

задача 10 урок 11

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

не могу решить задачу при условии если третье вводимое значение брать не из readln, а присваивать переменной.

var i,a,b,c,d: integer;
begin
   i:=0;
   while i<3 do
   begin
     writeln('vvedite luboe chislo');
     readln(a);
     if ((a<0) and ((a mod 2)<>0)) then
       begin
        i:=i+1;
        if (i=1) then
        c:=a;
        if (i=2) then
        d:=a;
       end;
  end;
writeln('summa= ', a+c+d);
readln();
end.

переделал решение.

var i,a,b,c,d: integer;
begin
   i:=0;
   b:=0;
   c:=0;
   d:=0;
   while i<3 do
   begin
     writeln('vvedite luboe chislo');
     readln(a);
     if ((a<0) and ((a mod 2)<>0)) then
       begin
        if b=0 then
          b:=a;
        if c=0 then
          c:=a;
        if d=0 then
          d:=a;
        i:=i+1;
       end;
  end;
writeln('otricatelnie nechetnie chisla:', a, c, d);
writeln('summa= ', a+c+d);
readln();
end.