Найти произведение элементов массива, расположенных между максимальным и минимальным элементами - Free Pascal (1050)

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

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

Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами. Формат выходных данных Выведите в выходной файл искомое произведение с 3 знаками после десятичной точки или 0, если между максимальным и минимальным элементом нет других элементов. Примеры: Вход 5 -3.12 -5.25 2.5 1.2 6 Выход 3.000 Вход 2 1.24 5.36 Выход 0.000

Решение задачи: «Найти произведение элементов массива, расположенных между максимальным и минимальным элементами»

textual
Листинг программы
  1. const
  2.   n=100;
  3. var
  4.   a: array [1..n] of real;
  5.   p: real;
  6.   n, i, imin, imax: integer;
  7. begin
  8.   Assign(input,'in.txt'); Assign(output,'out.txt');
  9.   Reset(input); Rewrite(output);
  10.   ReadLn(n); imin:=1; imax:=1;
  11.   for i:=1 to n do begin
  12.     Read(a[i]);
  13.     if a[i]<a[imin] then imin:=i;
  14.     if a[i]>a[imax] then imax:=i;
  15.   end;
  16.   p:=1;
  17.   if imin<imax then
  18.     for imin+1 to imax-1 do p:=p*a[i]
  19.   else
  20.     for imin+1 downto imax-1 do p:=p*a[i];
  21.   if abs(imin-imax)<=1 then p:=0;
  22.   WriteLn(p:0:3) ;
  23. end.

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

  1. Задается константа n равная 100, которая определяет размер массива a.
  2. Создается массив a размером n для хранения чисел.
  3. Создается переменная p для хранения произведения элементов массива.
  4. Создаются три переменные n, i и imin для контроля цикла и определения индексов минимального и максимального элементов массива.
  5. Открываются файлы in.txt для чтения и out.txt для записи.
  6. Считывается число из файла in.txt в переменную n.
  7. Инициализируются переменные imin и imax равными 1.
  8. Цикл считывает числа из файла in.txt и записывает их в массив a.
  9. Внутри цикла проверяется, является ли текущий элемент минимальным или максимальным, и обновляются значения переменных imin и imax при необходимости.
  10. После окончания цикла, цикл для вычисления произведения элементов массива начинается.
  11. Если imin меньше imax, то цикл перебирает элементы от imin+1 до imax-1 и вычисляет произведение элементов, которое затем присваивается переменной p.
  12. Если imin больше или равно imax, то цикл перебирает элементы от imin+1 до imax-1 в обратном порядке и вычисляет произведение элементов, которое затем присваивается переменной p.
  13. Если разница между imin и imax меньше или равна 1, то переменная p присваивается 0.
  14. Записывается значение переменной p в файл out.txt.
  15. Закрываются файлы in.txt и out.txt.

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


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

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

9   голосов , оценка 3.889 из 5

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

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

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