Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько - Pascal ABC
Формулировка задачи:
Решение задачи: «Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько»
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. После этого выводится исходный массив и его измененная версия. В конце кода выводится сообщение о том, остались ли после удаления минимальных элементов какие-либо элементы в массиве.