В одномерном массиве определить два элемента с минимальными значениями - 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
и выводится измененный массив. - Программа ожидает ввода данных перед завершением.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д