Информатика, вопрос задал Travka24 , 8 лет назад

(Pascal)
Из двух стеков, создать новый стек:элементы брать по-очерёдно из исходных стеков из первого-чётные, из второго нечётные: [1,18,20,13,2],[4,8,10,11,9], получили [2,9,20,11,18]
(ВЫПОЛНИТЬ С ЭЛЕМЕНТАМИ ПРОЦЕДУР)

Ответы на вопрос

Ответил Аноним
0
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var st1:=new Stack<integer>;
  foreach var t in Seq(2,13,20,18,1) do st1.Push(t);
  Write('Стек1: '); st1.Println;
  var st2:=new Stack<integer>;
  foreach var t in Seq(9,11,10,8,4) do st2.Push(t);
  Write('Стек2: '); st2.Println;
  var st3:=new Stack<integer>;
  while st1.Count+st2.Count>0 do begin
    while st1.Count>0 do begin
      var k:=st1.Pop;
      if k.IsEven then begin
        st3.Push(k);
        break
        end
      end;
    while st2.Count>0 do begin
      var k:=st2.Pop;
      if k.IsOdd then begin
        st3.Push(k);
        break
        end
      end
    end;
  Write('Стек3: '); st3.Println;  
end.
Приложения:
Новые вопросы