Урок 15. Задача 7.

Урок 15. Задача 7.

Заполните массив целых чисел (длиной 8 элементов) случайными значениями от -5 до 5.
Сохраните все неотрицательные числа первого массива во второй массив
и выведете этот второй массив на экран (если количество сохраненных чисел во втором массиве меньше, чем его длина, то выведете только их, не обходя неинициализированные ячейки).

type ar = array[1..8] of integer;
var i : integer;
    Arr, Arr_2 : ar;

begin
  randomize;
  for i := 1 to 8 do // инициализация
    Arr[i] := random(10) -5;

  for i := 1 to 8 do
    if Arr[i] > 0 then // положительные элементы массива
      Arr_2[i] := Arr[i];

  for i := 1 to high(Arr_2) do // вывод массива
      write(Arr_2[i], ' ');

  readln();
end.   
vedro-compota's picture

1)

if Arr[i] > 0 then // положительные элементы массива

-- нужны неотрицательные

2)

for i := 1 to high(Arr_2) do // вывод массива
      write(Arr_2[i], ' ');

-- выводить только реально сохраненные числа, без "хвоста"

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

type ar = array[1..8] of integer;
var i, a : integer;
    Arr, Arr_2 : ar;

begin
  a := 1; // начало обновленного массива
  randomize;

  for i := 1 to 8 do // инициализация
  begin
    Arr[i] := 5 - random(10);
  end;

  for i := 1 to high(Arr) do
    write(Arr[i], ' ');
  writeln();

  for i := 1 to 8 do
    if Arr[i] >= 0 then // неотрицательные элементы массива
    begin
      Arr_2[a] := Arr[i];
      a := a + 1;
    end;

  for i := 1 to a - 1 do  // вывод массива
    write(Arr_2[i], ' ');
  readln();
end. 
vedro-compota's picture

засчитано

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