PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018 Внимание! Если программа не работает, обновите версию!
begin var q:=new Queue<integer>; var n:=ReadInteger('Кол-во элементов (не менее 4):'); Randomize; var k:integer; for var i:=1 to n do begin k:=Random(-20,40); Print(k); q.Enqueue(k) end; Writeln; // очередь заполнена, выведены ее элементы var (ko,s):=(-100,0); for var i:=1 to n do begin k:=q.Dequeue; q.Enqueue(k); if k.IsOdd then ko:=k; if i=3 then s:=k end; s+=ko; q.Enqueue(s); q.Println; // искомая сумма помещена в очередь for var i:=1 to n do begin k:=q.Dequeue; if i<>4 then q.Enqueue(k) end; q.Println end.
4.Функции