ПАСКАЛЬ Из отсортированного массива удалить несколько чисел( числа для удаления нужно...

0 голосов
29 просмотров

ПАСКАЛЬ
Из отсортированного массива удалить несколько чисел( числа для удаления нужно ввести с клавиатуры)


Информатика (32 баллов) | 29 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1374 от 10.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=SeqRandom(ReadInteger('n='),10,99).Sorted.ToArray;
  a.Println;
  var k:=ReadInteger('Сколько значений удалить?');
  if k>=a.Length then Writeln('Задание не имеет смысла')
  else begin
    var s:=ReadArrInteger('Вводите значения через пробел:',k);
    a:=a.Where(x->not (x in s)).ToArray;
    a.Println
    end
end.

Пример
n= 17
12 14 17 30 31 34 40 41 45 46 67 76 76 78 86 87 93
Сколько значений удалить? 4
Вводите значения через пробел: 30 76 40 93
12 14 17 31 34 41 45 46 67 78 86 87
(150k баллов)