Задача 6 урок 15

Задача 6 урок 15

Пользователь вводит целые числа в цикле. Запишите в массив целых чисел (из 3 элементов) все нечетные отрицательные. Как только массив будет заполнен, завершите цикл ввода новых значений пользователем и распечатайте полученный массив.

program zadacha6;
var a: array [1..3] of integer;
  i, k, m: integer;

begin
  m:=0;
  repeat
    writeln('Vvedite chislo: ');
    readln (k);
    if (k mod 2 = -1) and (k < 0) then
    begin
      if a[1]=0 then
      begin
        a[1]:=k;
        k:=0;
      end;
      if a[2]=0 then
      begin
        a[2]:=k;
        k:=0
      end;
      if a[3]=0 then
        a[3]:=k;
      m:=m+1
    end;
  until m = 3;
  writeln();
  for i:=1 to 3 do
    write(a[i],' ');
  readln();
end.  
vedro-compota's picture

if a[1]=0 then
      begin
        a[1]:=k;
        k:=0;
      end;
      if a[2]=0 then
      begin
        a[2]:=k;
        k:=0
      end;
      if a[3]=0 then
        a[3]:=k;

-- лучше использовать счетчик. который будет инкрементироваться, когда мы встречаем подходящее число, и использовать этот счетчик как индекс массива

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

program zadacha6;
var a: array [1..3] of integer;
  i, k, m: integer;

begin
  m:=0;
  i:=0;
  repeat
    writeln('Vvedite chislo: ');
    readln (k);
    if (k mod 2 = -1) and (k < 0) then
    begin
      i:=i+1;
      if a[i]=0 then
      begin
        a[i]:=k;
        k:=0;
      end;
      m:=m+1;
    end;
  until m = 3;
  writeln();
  for i:=1 to 3 do
    write(a[i],' ');
  readln();
end.    
vedro-compota's picture

 if a[i]=0 then

-- не уверен, что эта проверка нужна

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