Найти минимальный и максимальный элемент массива - PascalABC.NET
Формулировка задачи:
Написала программу для данной задачи:"Описать функцию Min(A,N) и Max(A,N) вещественного типа, находящую минимальный и максимальный элемент массива A, состоящего из N вещественных чисел. "
Нажимаю команду "Выполнить" он пишет следующую ошибку:
(27) : Нельзя преобразовать тип array [1..4] of integer к array [1..4] of integer.
Как ее исправить?
P.S.27-это строка где находиться ошибка.
Листинг программы
- program qq;
- const n=4;
- type mas=array[1..n] of integer;
- function NMax(a:mas; n:integer):integer;
- var
- max,min,i: integer;
- begin
- max:=a[i];
- min:=a[i];
- for i:= 1 to n do
- begin
- if a[i]>max then max:=a[i];
- if a[i]<min then min:=a[i];
- end;
- Writeln ('Максимальный элемент массива=',max,'');
- Writeln ('Минимальный элемент массива=',min,'');
- end;
- var
- a : array [1..n] of integer;
- k,i: integer;
- begin
- for i:=1 to n do
- begin
- write ('введите ' ,i, ' элемент массива');
- readln (a[i]);
- begin
- k:=NMax(a,n);
- end;
- writeln (k);
- end;
- end.
Решение задачи: «Найти минимальный и максимальный элемент массива»
textual
Листинг программы
- function Min(A : array of Real; N : Integer) : Integer;
- begin
- Result := 0;
- for var i := 1 to N-1 do
- if A[i] < A[Result] then
- Result := i;
- end;
- function Max(A : array of Real; N : Integer) : Integer;
- begin
- Result := 0;
- for var i := 1 to N-1 do
- if A[i] > A[Result] then
- Result := i;
- end;
- begin
- var N := ReadLnInteger('Введите размер массива n =');
- var A : array of Real;
- SetLength(A, N);
- for var i := 1 to N do
- A[i-1] := ReadLnReal('Введите A[' + i.ToString + '] =');
- WriteLn(' Минимальный элемент массива A[', Min(A, N)+1, '] = ', A[Min(A, N)]);
- WriteLn('Максимальный элемент массива A[', Max(A, N)+1, '] = ', A[Max(A, N)]);
- end.
Объяснение кода листинга программы
- Программа начинается с определения двух функций: Min и Max, которые предназначены для поиска минимального и максимального элемента массива соответственно.
- Функция Min принимает два аргумента: A (массив) и N (размер массива). Результатом работы функции является индекс минимального элемента в массиве.
- Функция Max также принимает два аргумента: A (массив) и N (размер массива). Результатом работы функции является индекс максимального элемента в массиве.
- Далее идет основная часть программы, которая начинается с запроса у пользователя размера массива (переменная N).
- Создается массив A заданного размера.
- Затем происходит заполнение массива A с помощью цикла и функции ReadLnReal, которая запрашивает у пользователя ввод действительного числа и сохраняет его в соответствующем элементе массива.
- Вызываются функции Min и Max с аргументами A и N, и результат выводится на экран с помощью функции WriteLn. При этом к имени функции Min и Max добавляется номер найденного минимального и максимального элемента массива, чтобы корректно отобразить индексы.
- Значения минимального и максимального элемента массива также выводятся на экран с помощью функции WriteLn.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д