Дан одномерный массив целых чисел, требуется удалить из него все элементы, имеющие максимальный значения, при этом сжав массив на количество удалённых элементов, не изменяя порядок их следования — Pascal(Паскаль)

uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,j:byte;
    mx:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
mx:=0;
for i:=1 to n do
 begin
  a[i]:=random(5);
  write(a[i]:3);
  if a[i]>mx then mx:=a[i];
 end;
writeln;
writeln('Максимум=',mx);
writeln;
for i:=n downto 1 do
if a[i]=mx then
 begin
  for j:=i to n-1 do
  a[j]:=a[j+1];
  n:=n-1;
 end;
writeln('Массив после удаления максимальных элементов:');
for i:=1 to n do
write(a[i]:3);
readln
end.

Leave a Comment

− 2 = 1