• (Pascal)
    Из двух стеков, создать Новый Стек Элементы брать по-очередно из исходных стеков Из первого-четные, из ВТОРОГО Нечетные: [1,18,20,13,2] , [4, 8, 10,11,9], получили [2,9,20,11,18] (через процедуры)

Ответы 1

  • PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018Внимание! Если программа не работает, обновите версию!procedure FillStack(st:Stack<integer>; sq:sequence of integer);begin  foreach var t in sq do st.Push(t);end;procedure PrintStack(st:Stack<integer>; s:string);begin  Write(s); st.Printlnend;procedure ToStack(sta,stb:Stack<integer>; Even:boolean);begin  if Even then    while sta.Count>0 do begin      var v:=sta.Pop;      if v.IsEven then begin        stb.Push(v);        exit        end      end  else    while sta.Count>0 do begin      var v:=sta.Pop;      if v.IsOdd then begin        stb.Push(v);        exit        end      endend;begin  var st1:=new Stack<integer>;  FillStack(st1,Seq(2,13,20,18,1));  PrintStack(st1,'Стек1: ');  var st2:=new Stack<integer>;  FillStack(st2,Seq(9,11,10,8,4));  PrintStack(st2,'Стек2: ');  var st3:=new Stack<integer>;  while st1.Count+st2.Count>0 do begin    ToStack(st1,st3,True);    ToStack(st2,st3,False);    end;  PrintStack(st3,'Стек3: ')  end.РезультатСтек1: 1 18 20 13 2Стек2: 4 8 10 11 9Стек3: 2 9 20 11 18
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years