Найти с помощью рекурсии максимальный элемент вектора - Pascal
Формулировка задачи:
Необходимо найти с помощью рекурсии максимальный элемент вектора V, n-размерности.
Решение задачи: «Найти с помощью рекурсии максимальный элемент вектора»
textual
Листинг программы
uses crt; type mas=array[1..50]of integer; var a:mas; n,i:integer; function Max(n:integer):integer; var w:integer; begin if n>1 then{пока в массиве больше 1 элемента} begin w:=Max(n-1);{смотрим предпоследний} if a[n]<w then Max:=w{сравниваем с последним, либо предпоследний} else Max:=a[n]{либо последний пока максимальные} end else Max:=a[1]{если 1, он максимальный} end; begin clrscr; randomize; write('Razmer massiva A n='); readln(n); writeln('Massiv A:'); for i:=1 to n do begin a[i]:=random(20); write(a[i],' '); end; writeln; write('max=',Max(n)); readln end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с памятью.
- Создается тип данных mas, который представляет собой массив целых чисел размером от 1 до 50.
- Создается переменная a типа mas, которая будет использоваться для хранения массива.
- Создаются две переменные n и i типа integer, которые будут использоваться для итерации по массиву.
- Определяется функция Max, которая принимает целочисленный аргумент n и возвращает максимальное значение из массива.
- Внутри функции объявляется переменная w типа integer, которая будет использоваться для хранения временного значения максимума.
- Используется цикл while для проверки, пока в массиве есть больше одного элемента.
- Внутри цикла переменная w инициализируется значением, полученным от функции Max(n-1). Если значение a[n] меньше значения w, то переменная Max обновляется значением w. Если значение a[n] больше или равно значению w, то переменная Max остается без изменений.
- Если n равно 1, то переменная Max обновляется значением a[1], так как это единственный элемент в массиве и он является максимальным.
- В конце функции Max возвращается значение переменной Max.
- В основной части программы с помощью функции randomize инициализируется генератор случайных чисел.
- Выводится запрос на ввод размера массива n.
- Выводится сообщение «Massiv A:» и затем цикл for выполняется n раз. В каждой итерации цикла переменная a[i] инициализируется случайным числом от 1 до 20.
- После завершения цикла выводится сообщение «max=», за которым следует вызов функции Max(n).
- Выводится символ новой строки для разделения вывода.
- Программа завершается вызовом функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д