Предмет: Информатика,
автор: Travka24
Заполнить очередь случайными числами из интервала [-20; 40]. Найти сумму последнего нечетного элемента и третьего элемента очереди. Результат поместить в очередь. Удалить 4 элемент из очереди. После выполнения каждой операции выводить содержимое очереди на экран
Ответы
Автор ответа:
0
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.
Внимание! Если программа не работает, обновите версию!
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.
Приложения:
Travka24:
А можно её через процедуры сделать?
https://znanija.com/task/28483565?utm_source=android&utm_medium=share&utm_campaign=question
Похожие вопросы
Предмет: История,
автор: rpimenov1310
Предмет: Математика,
автор: tema1999101
Предмет: Другие предметы,
автор: kirillvava41
Предмет: Математика,
автор: alionatcaci
Предмет: Математика,
автор: КатяКраб