задача 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.  

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