Заполнить очередь случайными числами из промежутка [-20; 40]. Отыскать сумму последнего

Заполнить очередь случайными числами из интервала [-20; 40]. Отыскать сумму последнего нечетного элемента и третьего элемента очереди. Итог поместить в очередь. Удалить 4 элемент из очереди. После выполнения каждой операции выводить содержимое очереди на экран. (ЧЕРЕЗ ПРОЦЕДУРЫ)

Задать свой вопрос
1 ответ
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программка не работает, обновите версию!

type
  tQ=queuelt;integergt;;

procedure ЗаполнениеОчереди(q:tQ; n:integer);
begin
  Randomize;
  loop n do begin
    var k:=Random(-20,40);
    q.Enqueue(k)
    end;
end;

procedure СуммаНужныхЭлементов(q:tQ; var s:integer);
begin
  var ko,k:integer;
  for var i:=1 to q.Count do begin
    k:=q.Dequeue; q.Enqueue(k);
    if k.IsOdd then ko:=k;
    if i=3 then s:=k
    end;
  s+=ko  
end;

procedure УдалитьЭлемент(q:tQ; p:integer);
begin
  for var i:=1 to q.Count do begin
    var k:=q.Dequeue;
    if ilt;gt;p then q.Enqueue(k)
    end
end;

begin
  var MyQ:=new tQ;
  var n:=ReadInteger('Кол-во частей (не менее 4):');
  ЗаполнениеОчереди(MyQ,n);
  MyQ.Println;
  var s:integer;
  СуммаНужныхЭлементов(MyQ,s);
  MyQ.Enqueue(s); // разыскиваемая сумма помещена в очередь
  MyQ.Println;
  УдалитьЭлемент(MyQ,4);
  MyQ.Println
end.

Пример
Кол-во частей (не менее 4): 13
-7 12 -18 4 23 -1 15 -11 9 12 5 3 2
-7 12 -18 4 23 -1 15 -11 9 12 5 3 2 -15
-7 12 -18 23 -1 15 -11 9 12 5 3 2 -15
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт