Удалить минимальный элемент из одномерного массива — Pascal(Паскаль)

type
 typeOfArray= integer;
 massiv= array[1..10] of TypeOfArray;
 
var
 y: byte;
 A: massiv;
 
Function DelMinFromArray(var M: massiv;n: byte):byte;
{функция принимает в себя массив, который обрабатывает и длинну массива
 а возвращает длину получившегося массива}
var
 i,j: integer;
 min: typeOfArray;
 k: byte;
Begin
 min:=M[1];
 For i:=2 to n do
  If M[i]<min then min:=M[i];
 k:=n;
 For i:=1 to n do
  If M[i]=min then
   Begin
    For j:=i to n-1 do
     Begin
      M[j]:=M[j+1];
      M[j+1]:=0;
     End;
    dec(k);
   end;
 DelMinFromArray:=k;
End;
 
Begin
 {заполняем массив}
 randomize;
 For y:=1 to 10 do
  Begin
   A[y]:=random(100);
   write(A[y],' ');
  End;
 writeln;
 {выводим на экран массив без минимального элемента}
 For y:=1 to DelMinFromArray(A,10) do
  write(A[y],' ');
 writeln;
 
End.

Вариант 2

type
massiv= array[1..10] of integer;

var
 y: byte;
 A: massiv;
 
Function DelMinFromArray(var M: massiv;n: byte):byte;
{функция принимает в себя массив, который обрабатывает и длинну массива
 а возвращает длину получившегося массива}
var
 i,j: integer;
 min: typeOfArray;
 k: byte;
Begin
 min:=M[1];
 For i:=2 to n do
  If M[i]<min then min:=M[i];
 k:=n;
 For i:=1 to n do
  If M[i]=min then
   Begin
    For j:=i to n-1 do
     Begin
      M[j]:=M[j+1];
      M[j+1]:=0;
     End;
    dec(k);
   end;
 DelMinFromArray:=k;
End;
 
Begin
 {заполняем массив}
 randomize;
 For y:=1 to 10 do
  Begin
   A[y]:=random(100);
   write(A[y],' ');
  End;
 writeln;
 {выводим на экран массив без минимального элемента}
 For y:=1 to DelMinFromArray(A,10) do
  write(A[y],' ');
 writeln;
 
End.

Leave a Comment

59 − = 55