(Pascal)Из двух стеков, создать новый стек:элементы брать по-очерёдно из исходных стеков...

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

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


Информатика (217 баллов) | 84 просмотров
0

Могу дать больше

0

Ну а за сколько вы готовы сделать?

0

просто их и так не много

0

сейчас снова создам

0

хорошо

Дан 1 ответ
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var st1:=new Stack;
  foreach var t in Seq(2,13,20,18,1) do st1.Push(t);
  Write('Стек1: '); st1.Println;
  var st2:=new Stack;
  foreach var t in Seq(9,11,10,8,4) do st2.Push(t);
  Write('Стек2: '); st2.Println;
  var st3:=new Stack;
  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.

image
(150k баллов)