В одномерном массиве определить два элемента с минимальными значениями - Pascal

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

В произвольно заданном одномерном массиве определить два элемента с минимальными значениями и уменьшить исходный массив на элементы, расположенные между найденными значениями.

Код к задаче: «В одномерном массиве определить два элемента с минимальными значениями - Pascal»

textual
uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,j,k,m1,m2:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива А от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Массив A');
for i:=1 to n do
 begin
  a[i]:=random(100);
  write(a[i]:4)
 end;
writeln;
if a[1]>a[2] then
 begin
  m1:=1;
  m2:=2;
 end
else
 begin
  m1:=2;
  m1:=1;
 end;
for i:=2 to n do
if a[i]<a[m1] then
 begin
  m2:=m1;
  m1:=i;
 end
else if a[i]<a[m2] then m2:=i;
writeln('Первый элемент с минимальным значениен a[',m1,']=',a[m1]);
writeln('Второй элемент с минимальным значениен a[',m2,']=',a[m2]);
if abs(m1-m2)=1 then write('Между ними элементов нет')
else
 begin
  if m1>m2 then
   begin
    k:=m1;
    m1:=m2;
    m2:=k;
   end;
  for i:=1 to m2-m1-1 do
   begin
    for j:=m1+1 to n-1 do
    a[j]:=a[j+1];
    n:=n-1;
   end;
  writeln('Измененный массив');
  for i:=1 to n do
  write(a[i]:4);
 end;
readln
end.

8   голосов, оценка 4.000 из 5


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