Задача 10 Урок 11 While

11. While

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

var a,b,c,d: integer;
begin
  a:=1; b:=1; c:=1;
  d:=1; // переключатель для while
  while (d <> 0) do
    begin
      writeln('write integer num');
      read(a);
      if (Odd(a) AND (a < 0))  then
        begin
          if c < 0 then
            begin
              writeln('a = ',a,' ', 'b = ',b,' ','c = ', c);
              writeln('a + b + c = ',a + b + c); // сумма отрицательных
              readln(); readln();
              d:=0;
            end;
          if b < 0 then
            begin
              c := b;
              b := a;
            end;
        b := a; // предыдущее
        end
    end;
end.    
vedro-compota's picture

Сначала дорешаем задачу 8 http://fkn.ktu10.com/?q=comment/4636#com...

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

var a,b,c,p: integer;
begin
  p:=3;  // собираем отрицательные числа
  while (p<>0) do
    begin
      writeln('write integer num');
      read(a);
      if (Odd(a) AND (a < 0))  then
        begin
          if (p=3) then
              c:=a;
          if (p=2) then
              b:=a;
          if (p=1) then
            begin
              writeln('a,b,c is ', a,' ', b,' ', c);
              writeln('a+b+c= ', a+b+c);
              readln(); readln();
            end;
          p:= p-1;
        end;
    end
end.