В одномерном массиве определить два элемента с минимальными значениями - 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.
Объяснение кода листинга программы
- Объявляется переменная
a
как массив целых чисел размером от 1 до nmax. - Объявляются переменные
n
,i
,j
,k
,m1
,m2
как целые числа. - Инициализируется графический вывод.
- Генерируется случайное значение
- Повторяем ввод размера массива
n
до тех пор, покаn
не будет в пределах от 2 до nmax. - Выводится сообщение
Массив A
. - В цикле для каждого элемента массива генерируется случайное число от 0 до 99 и выводится его значение.
- Проверяется, какой из первых двух элементов меньше и записываются их индексы в переменные
m1
иm2
. - Происходит поиск двух элементов с минимальными значениями в массиве.
- Выводится первый элемент с минимальным значением и его индекс.
- Выводится второй элемент с минимальным значением и его индекс.
- Проверяется условие наличия элементов между первым и вторым минимальными значениеми.
- Если элементы не находятся рядом, то удаляются элементы между ними из массива
a
и выводится измененный массив. - Программа ожидает ввода данных перед завершением.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д