Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько - Pascal ABC

Узнай цену своей работы

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

Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько. Впринципе решить решил, но с учетом, что элемент один. А как сделать так, чтобы высчитывало для нескольких элементов? Заранее спасибо.

Решение задачи: «Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько»

textual
Листинг программы
const nmax=100;
type mas=array[1..nmax]of integer;
var a:mas;
    i,n,min:integer;
procedure viv(x:mas;nn:integer;s:string);
var i:integer;
begin
 writeln(s);
 for i:=1 to nn do write(x[i]:3);writeln
end;
procedure udal(x:mas;ii:integer;var nn:integer);
var i:integer;
begin
 for i:=ii to nn-1 do a[i]:=a[i+1];
 nn:=nn-1
end; 
begin
 repeat
  write('количество элементов массива 0<n<=100 : ');readln(n);
 until (n>0)and(n<101);
 for i:=1 to n do
  begin
   a[i]:=random(5);
   if i=1 then min:=a[i]
          else if a[i]<min then min:=a[i]
  end;        
 viv(a,n,'исходный:');
 i:=1;
 while i<=n do
  begin
   if a[i]=min then begin udal(a,i,n);dec(i) end;
   inc(i)
  end;
 if n=0 then writeln('все элементы одинаковые, после удаления - не осталось')
        else viv(a,n,'после удаления минимальных:')
end.

Объяснение кода листинга программы

Код начинается с определения максимального значения для n, которое может быть до 100. Затем определяется тип данных для массива, который будет хранить целочисленные значения. Далее объявляются три переменные: i, n и min. Переменная i используется для итерации по элементам массива, переменная n используется для определения количества элементов в массиве, а переменная min используется для хранения минимального элемента в массиве. Затем определены два процедурных блока: viv и udal. Процедура viv используется для вывода исходного массива, а процедура udal используется для удаления минимальных элементов из массива. Далее идет основной блок кода. В нем сначала запрашивается количество элементов в массиве от пользователя. Затем, в цикле, заполняется массив случайными числами, при этом проверяется, что текущий элемент не является минимальным. Если текущий элемент является минимальным, то он удаляется с помощью процедуры udal. После этого выводится исходный массив и его измененная версия. В конце кода выводится сообщение о том, остались ли после удаления минимальных элементов какие-либо элементы в массиве.

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы