Заполнить очередь случайными числами из промежутка [-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
Внимание! Если программка не работает, обновите версию!
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
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Облако тегов