Найти наименьший среди тех элементов одномерного массива, что лежит вне интервала (c,d); - Pascal ABC
Формулировка задачи:
Задача: ''Составьте программу отыскания наименьшего среди тех элементов одномерного массива A(N), что лежит все интервала (c,d);'' Листинг для ТП 7.0 просто пишу в ABC вот мой листинг
Заранее спасибо!
Решение задачи: «Найти наименьший среди тех элементов одномерного массива, что лежит вне интервала (c,d);»
textual
Листинг программы
program z1;
uses crt; {Подключение модуля экрана}
var
a:array [1..100] of integer;
c,b,d,n,min,s,k,i:integer;
begin
clrscr;{Очистка экрана}
write('Введите интервал c:');
readln(c); {Вводится интервал c}
write('Введите интервал d:');
readln(d);{Вводится интервал d}
write('Введите размерность массива n=');
readln(n); {Вводится размерность массива}
if c>d then
begin {Проверка интервала с>d и смена значений с=d и d=c}
b:=c;
c:=d;
d:=b;
end;
s:=0;{Присваивание начального значения min}
For i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]); {Ввод массива}
end;
For i:=1 to n do
begin
if (a[i]<c) or (a[i]>d) then {Выполнение определенного логического условия}
begin
k:=1;
s:=s+1;{Счетчик для нахождения первого элемента не входящего в интервал(c,d)}
if s=1 then
min:=a[i];{Присваивание min значение первого элемента массива}
if a[i]<min then {Поиск min значения}
min:=a[i];
end;
end;
if k=1 then {Выполнение определенного логического условия для вывода решения}
write('Минимальный элемент не входящий в интервал(',c,',',d,'):',min)
else
write('Все элементы входят в интервал');
readln; {Пауза по завершению задачи}
end.
Объяснение кода листинга программы
- В программе объявлены переменные a, c, b, d, n, min, s, k, i, которые будут использоваться для выполнения поставленной задачи.
- Пользователю предлагается ввести интервал c: и d:, а также размерность массива n=.
- Проверяется, что c>d. Если это условие выполняется, то значения переменных c, d и b меняются местами.
- Переменной s присваивается начальное значение 0.
- Циклом for перебираются все элементы массива a[1..n].
- Внутри цикла выполняется проверка: если a[i] меньше c или больше d, то переменная k получает значение 1, счетчик s увеличивается на 1, и минимальное значение присваивается a[i].
- Если a[i] меньше текущего min, то min обновляется.
- По завершении внутреннего цикла проверяется, было ли найдено минимальное значение, не входящее в интервал (c,d). Если да, то выводится сообщение с этим значением.
- Если k=1, то выводится сообщение
Все элементы входят в интервал. - Программа завершается после ввода данных и выполнения всех операций.