Рекомендую для задачи взять принцип работы почтовой службы, там сортировка имеет критически важное значение.
Например: В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу). Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.). Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018 Внимание! Если программа не работает, обновите версию!
begin var (sn,pp,kp):=(0,1,0); var n:integer; repeat Read(n); if (n<0) and n.IsOdd then sn+=n else if (n>0) and (n mod 3=0) then begin pp*=n; kp+=1 end until n=0; if sn=0 then begin Writeln('Нет отрицательных нечетных чисел'); if kp=0 then Writeln('Нет положительных чисел, кратных 3') else Writeln('Произведение положительных чисел, кратных 3: ',pp) end else begin Writeln('Сумма отрицательных нечетных чисел: ',sn); if kp=0 then Writeln('Нет положительных чисел, кратных 3') else Writeln('Произведение положительных чисел, кратных 3: ',pp) end end.