Найти наименьший среди тех элементов одномерного массива, что лежит вне интервала (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.

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

  1. В программе объявлены переменные a, c, b, d, n, min, s, k, i, которые будут использоваться для выполнения поставленной задачи.
  2. Пользователю предлагается ввести интервал c: и d:, а также размерность массива n=.
  3. Проверяется, что c>d. Если это условие выполняется, то значения переменных c, d и b меняются местами.
  4. Переменной s присваивается начальное значение 0.
  5. Циклом for перебираются все элементы массива a[1..n].
  6. Внутри цикла выполняется проверка: если a[i] меньше c или больше d, то переменная k получает значение 1, счетчик s увеличивается на 1, и минимальное значение присваивается a[i].
  7. Если a[i] меньше текущего min, то min обновляется.
  8. По завершении внутреннего цикла проверяется, было ли найдено минимальное значение, не входящее в интервал (c,d). Если да, то выводится сообщение с этим значением.
  9. Если k=1, то выводится сообщение Все элементы входят в интервал.
  10. Программа завершается после ввода данных и выполнения всех операций.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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