Динамический массив: найти произведение наибольшего и наименьшего элемента - Pascal
Формулировка задачи:
Помогите.
Составит программу, в которой вводится размер массива (одномерный). Выделить память, найти произведение наибольшего и наименьшего элемента. Освободить память.
Начало программы вроде правильно.
program Est; type mss = ^mas; mas = array of integer; var a: mss; i, s, n, j: byte; sr,cr: real; begin s:=0; new(a); write('Введите размер массива: '); readln(n); setlength(a^, n); for i := 1 to a^.Length - 1 do begin a^[i] := random(7) + 1; write(a^[i],' '); j:=i; end;
Решение задачи: «Динамический массив: найти произведение наибольшего и наименьшего элемента»
textual
Листинг программы
var a: array of Integer; i, n, mn, mx: Integer; begin Randomize; Write('Размер массива: '); Read(n); SetLength(a,n); mn:=MaxInt; mx:=-MaxInt-1; for i:=0 to n-1 do begin a[i]:=1+Random(7); Write(' ',a[i]); if mn>a[i] then mn:=a[i]; if mx<a[i] then mx:=a[i]; end; WriteLn; SetLength(a,0); { необязательно } WriteLn('Произведение min*max: ',mn*mx); end.
Объяснение кода листинга программы
- Объявляется переменная
a
как динамический массив целых чисел. - Объявляются переменные
i
,n
,mn
иmx
как целые числа. - Генерируется случайное начальное значение для генератора случайных чисел.
- Пользователю выводится запрос на ввод размера массива, который сохраняется в переменной
n
. - Задается размер динамического массива
a
равнымn
. Переменныеmn
иmx
инициализируются соответственно максимально возможным и минимально возможным значением Int. - В цикле заполняется массив случайными числами от 1 до 7, каждый элемент выводится на экран. Одновременно проверяется, является ли текущий элемент минимальным или максимальным в массиве, и если это так, они обновляются.
- По завершении цикла размер массива устанавливается в 0 (необязательно).
- На экран выводится произведение наименьшего и наибольшего элементов массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д