Удалить элементы массива, большие 10 - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Нужна помощь.

Дан двумерный массив нужно удалить все элементы которые больше 10.

Подскажите, пожалуйста, как это сделать?

Решение задачи: «Удалить элементы массива, большие 10»

textual
Листинг программы
  1. uses Arrays;
  2.  
  3. const
  4.   n = 5;
  5.   m = 5;
  6. var a : array[1 .. n] of array of integer;
  7.  
  8. begin
  9.   writeln('before:');
  10.   for var i : integer := 1 to n do
  11.   begin
  12.     a[i] := CreateRandomIntegerArray(m, 0, 20);
  13.     a[i].Writeln(#9);
  14.   end;
  15.  
  16.   writeln('after:');
  17.   for var i : integer := 1 to n do
  18.   begin
  19.     a[i] := a[i].Where(i -> i <= 10).ToArray();
  20.     if(a[i].Length > 0) then a[i].Writeln(#9);
  21.   end;
  22. end.

Объяснение кода листинга программы

В этом коде определен массив a размером 5, который содержит в себе еще 5 массивов целых чисел.

  1. В первой части кода создаются эти массивы с помощью функции CreateRandomIntegerArray, которая генерирует случайные числа от 0 до 20.
  2. Затем с помощью цикла for и writeln выводится содержимое каждого из этих массивов.
  3. Во второй части кода происходит фильтрация каждого из массивов, которые содержатся в массиве a.
  4. Для этого используется метод Where, который принимает в качестве аргумента функцию, которая определяет, должен ли элемент остаться в массиве или нет. В данном случае эта функция i -> i <= 10 означает, что в массиве должны остаться только элементы, которые меньше или равны 10.
  5. Результатом работы метода Where является новый массив, который содержит в себе отфильтрованные элементы. Этот массив выводится на экран с помощью writeln.
  6. Если после фильтрации в массиве остались элементы, то они выводятся на экран. Если нет, то на экран выводится пустой массив.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы