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

Вопрос школьника по предмету Информатика

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

Ответ учителя по предмету Информатика

// 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]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей