Найти наименьший среди тех элементов одномерного массива, что лежит вне интервала (c,d); - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Задача: ''Составьте программу отыскания наименьшего среди тех элементов одномерного массива A(N), что лежит все интервала (c,d);'' Листинг для ТП 7.0 просто пишу в ABC вот мой листинг
Листинг программы
  1. program z1;
  2. var
  3. a:array [1..100] of integer;
  4. c,b,d,n,min,k,i:integer;
  5. begin
  6. write('Vvedite interval c,d:');
  7. readln(c,d);
  8. write('Vvedite razmernost massiva n=');
  9. readln(n);
  10. if c>d then
  11. b:=c;
  12. c:=d;
  13. d:=b;
  14. For i:=1 to n do
  15. begin
  16. write('a[',i,']=');
  17. readln(a[i]);
  18. end;
  19. min:=a[1];
  20. For i:=1 to n do
  21. begin
  22. if a[i]>=c then
  23. begin
  24. if a[i]>d then {При значении интервала 4 8 и указании 4 элем массива 4 8 8 8 пишет мин элем 4 хотя токого быть не должно 8>8 не должен пo then идти}
  25. k:=1;
  26. end
  27. else
  28. if a[i]<d then
  29. k:=1;
  30. if k=1 then
  31. if a[i]<min then
  32. min:=a[i];
  33. end;
  34. if k=1 then
  35. write('min elem=',min)
  36. else
  37. write('ne vhod');
  38. readln;
  39. end.
Заранее спасибо!

Решение задачи: «Найти наименьший среди тех элементов одномерного массива, что лежит вне интервала (c,d);»

textual
Листинг программы
  1. program z1;
  2. uses crt; {Подключение модуля экрана}
  3. var
  4. a:array [1..100] of integer;
  5. c,b,d,n,min,s,k,i:integer;
  6. begin
  7.      clrscr;{Очистка экрана}
  8.      write('Введите интервал c:');
  9.      readln(c); {Вводится интервал c}
  10.      write('Введите интервал d:');
  11.      readln(d);{Вводится интервал d}
  12.      write('Введите размерность массива n=');
  13.      readln(n); {Вводится размерность массива}
  14.       if c>d then
  15.         begin {Проверка интервала с>d и смена значений с=d и d=c}
  16.           b:=c;
  17.           c:=d;
  18.           d:=b;
  19.         end;
  20. s:=0;{Присваивание начального значения min}      
  21.                     For i:=1 to n do
  22.                         begin
  23.                           write('a[',i,']=');
  24.                           readln(a[i]); {Ввод массива}
  25.                         end;
  26.                      For i:=1 to n do
  27.                         begin
  28.                            if (a[i]<c) or (a[i]>d) then {Выполнение определенного логического условия}
  29.                              begin
  30.                               k:=1;
  31.                               s:=s+1;{Счетчик для нахождения первого элемента не входящего в интервал(c,d)}
  32.                                 if s=1 then
  33.                                 min:=a[i];{Присваивание min значение первого элемента массива}
  34.                                   if a[i]<min then {Поиск min значения}
  35.                                     min:=a[i];
  36.                              end;
  37.                         end;
  38.                       if k=1 then {Выполнение определенного логического условия для вывода решения}
  39.                         write('Минимальный элемент не входящий в интервал(',c,',',d,'):',min)
  40.                       else
  41.                         write('Все элементы входят в интервал');
  42.      readln; {Пауза по завершению задачи}
  43. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы