В заданном стеке найти малый по безусловному значению элемент и удалить

В данном стеке найти малый по абсолютному значению элемент и удалить все элементы с таким значением. (Искать, перекладывать в дополнительный стек, устранять при перекладывании назад: [1,7,-1,3,2],получили [7,3,2]).

Задать свой вопрос
1 ответ
PascalABC.NET 3.4.0, сборка 1671 от 31.05.2018
Внимание! Если программка не работает, обновите версию!

begin
  var St:=new Stacklt;integergt;;
  foreach var k in ReadSeqInteger('Вводите данные:',ReadInteger('n=')) do
    St.Push(k);
  St.Println; // начальное содержимое стека
  var St1:=new Stacklt;integergt;;
  var min:=MaxInt;
  var k:integer;
  while St.Countgt;0 do begin
    k:=St.Pop;
    if Абс(k)lt;min then min:=Абс(k);
    St1.Push(k);
    end;
  while St1.Countgt;0 do begin
    k:=St1.pop;
    if Абс(k)lt;gt;min then St.Push(k)
    end;
  St.Println
end.

Пример
n= 5
Вводите данные: 2 3 -1 7 1
1 7 -1 3 2
7 3 2
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт