Динамический массив: найти произведение наибольшего и наименьшего элемента - 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.

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

  1. Объявляется переменная a как динамический массив целых чисел.
  2. Объявляются переменные i, n, mn и mx как целые числа.
  3. Генерируется случайное начальное значение для генератора случайных чисел.
  4. Пользователю выводится запрос на ввод размера массива, который сохраняется в переменной n.
  5. Задается размер динамического массива a равным n. Переменные mn и mx инициализируются соответственно максимально возможным и минимально возможным значением Int.
  6. В цикле заполняется массив случайными числами от 1 до 7, каждый элемент выводится на экран. Одновременно проверяется, является ли текущий элемент минимальным или максимальным в массиве, и если это так, они обновляются.
  7. По завершении цикла размер массива устанавливается в 0 (необязательно).
  8. На экран выводится произведение наименьшего и наибольшего элементов массива.

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

14   голосов , оценка 4.143 из 5
Похожие ответы