Решение задачи №6 из главы 15

Решение задачи №6 из главы 15

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

type  // секция объявления типов
  myArr = array[1..3] of integer; // массив из 3 элементов
var
  a: myArr; // объявляем переменную типа  myArr
  i : integer;
begin

   { обходим первый раз массив,
      значения которого ещё не инициализированы,
      с целью присвоить значения элементам
   }
   for i:=low(a) to high(a) do
   begin
     writeln('vvedite element massiva nomer ', i, ':');  // пояснение для пользователя
     readln(a[i]);  // считываем элемент i массива 'a' из консоли
   end;

     writeln('elementi vvedennogo vami massiva:');
   for i:=low(a) to high(a) do // обходим массив второй раз, теперь уже с целью вывода его значе
      if (a[i] mod 2 =1 ) AND (a[i]<0)
         then
           write(a[i], ' ');
    readln();
end.       
vedro-compota's picture

for i:=low(a) to high(a) do

-- сработает только 3 раза, а по условию задачи цикл ввода может быть вообще бесконечным (напр. если пользователь вводит только положительные значения).

Также сейчас запись в массив идет без проверки условия

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

gani84's picture

type  // секция объявления типов
  myArr = array[1..3] of integer; // массив из 3 элементов
var
  a: myArr; // объявляем переменную типа  myArr
  i : integer;
  x : integer;
begin
    //writeln('vvedite element massiva nomer ', a[i], ':');
  i:=0;
  while true do
    begin
      if i = 3 then
      begin
        break;
      end;
      writeln('vvedite element massiva nomer ', i, ':');
      readln(x);
      if (odd(x)) and (x < 0) then
        begin
           x:=a[i];
           i:= i+1;
        end;
        end;
  readln();
end.
vedro-compota's picture

  while true do
    begin
      if i = 3 then

-- перенести условие завершение в заголовок цикла.

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