В одномерном массиве определить два элемента с минимальными значениями - 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.

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

  1. Объявляется переменная a как массив целых чисел размером от 1 до nmax.
  2. Объявляются переменные n, i, j, k, m1, m2 как целые числа.
  3. Инициализируется графический вывод.
  4. Генерируется случайное значение
  5. Повторяем ввод размера массива n до тех пор, пока n не будет в пределах от 2 до nmax.
  6. Выводится сообщение Массив A.
  7. В цикле для каждого элемента массива генерируется случайное число от 0 до 99 и выводится его значение.
  8. Проверяется, какой из первых двух элементов меньше и записываются их индексы в переменные m1 и m2.
  9. Происходит поиск двух элементов с минимальными значениями в массиве.
  10. Выводится первый элемент с минимальным значением и его индекс.
  11. Выводится второй элемент с минимальным значением и его индекс.
  12. Проверяется условие наличия элементов между первым и вторым минимальными значениеми.
  13. Если элементы не находятся рядом, то удаляются элементы между ними из массива a и выводится измененный массив.
  14. Программа ожидает ввода данных перед завершением.

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

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