Найти произведение элементов массива, расположенных между максимальным и минимальным элементами - 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
Листинг программы
const
  n=100;
var
  a: array [1..n] of real;
  p: real;
  n, i, imin, imax: integer;
begin
  Assign(input,'in.txt'); Assign(output,'out.txt');
  Reset(input); Rewrite(output);
  ReadLn(n); imin:=1; imax:=1;
  for i:=1 to n do begin
    Read(a[i]);
    if a[i]<a[imin] then imin:=i;
    if a[i]>a[imax] then imax:=i;
  end;
  p:=1;
  if imin<imax then
    for imin+1 to imax-1 do p:=p*a[i]
  else 
    for imin+1 downto imax-1 do p:=p*a[i];
  if abs(imin-imax)<=1 then p:=0;
  WriteLn(p:0:3) ;
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
Похожие ответы