Заданы две очереди элементами которых являются целые числа.сформулировать на их основе новую очередь элементами который будут по убыванию или возрастанию (достигается выбором соответствующего пункта меню).

Алёнатян111 Алёнатян111    1   30.08.2019 15:50    4

Ответы
Sasha080903 Sasha080903  06.10.2020 05:16
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s1:=SeqRandom(ReadInteger('n1='),-50,50);
  var s2:=SeqRandom(ReadInteger('n2='),-50,50);
  var p:=ReadInteger('0-по неубыванию, иное- по невозрастанию:');
  var q1:=new Queue<integer>;
  foreach var m in s1 do q1.Enqueue(m);
  Write('Очередь 1: ',q1); Writeln;
  var q2:=new Queue<integer>;
  foreach var m in s2 do q2.Enqueue(m);
  Write('Очередь 2: ',q2); Writeln;
  // очереди сформированы
  var q:=new Queue<integer>;
  var a:=(q1.ToArray+q2.ToArray);
  var s:sequence of integer;
  if p=0 then s:=a.OrderBy(i->i)
  else s:=a.OrderByDescending(i->i).ToArray;
  foreach var m in s do q.Enqueue(m);
  Write('Очередь-результат: ',q); Writeln;
end.

Пример
n1= 10
n2= 7
0-по неубыванию, иное- по невозрастанию: 1
Очередь 1: [-26,6,26,-48,-21,-29,27,-39,5,-40]
Очередь 2: [50,36,37,46,18,41,-39]
Очередь-результат: [50,46,41,37,36,27,26,18,6,5,-21,-26,-29,-39,-39,-40,-48]
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика