Удвоить все максимальные элементы (вставить после каждого такого же элемента). - Pascal ABC

Формулировка задачи:

Добрый день! Помогите, пожалуйста, решить задачу Только каким-нибудь примитивным способом Дан массив целых чисел, длиной n, элементы которого могут повторяться. Удвоить все максимальные элементы (вставить после каждого такого же элемента).

Код к задаче: «Удвоить все максимальные элементы (вставить после каждого такого же элемента). - Pascal ABC»

textual
const n=20;
var a:array[1..2*n] of integer;
    mx,m,i,k:integer;
begin
randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(10);
  write(a[i]:4);
  if i=1 then mx:=a[1]
  else if a[i]>mx then mx:=a[i];
 end;
writeln;
writeln('Максимальный элемент=',mx);
m:=n;
i:=1;
while i<=m do
if a[i]=mx then
 begin
  m:=m+1;
  for k:=m downto i+2 do
  a[k]:=a[k-1];
  a[i+1]:=mx;
  i:=i+2;
 end
else i:=i+1;
writeln('Массив после вставок:');
for i:=1 to m do
write(a[i]:4);
end.

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

11   голосов, оценка 3.636 из 5


СОХРАНИТЬ ССЫЛКУ