Предмет: Информатика, автор: Travka24

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


Travka24: Могу дать больше
Travka24: Ну а за сколько вы готовы сделать?
Travka24: просто их и так не много
Travka24: сейчас снова создам
Travka24: хорошо

Ответы

Автор ответа: Аноним
1
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.
Приложения:
Похожие вопросы
Предмет: Русский язык, автор: wvwvwvevw