Найти минимальный и максимальный элемент массива - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Написала программу для данной задачи:"Описать функцию Min(A,N) и Max(A,N) вещественного типа, находящую минимальный и максимальный элемент массива A, состоящего из N вещественных чисел. "
Листинг программы
  1. program qq;
  2. const n=4;
  3. type mas=array[1..n] of integer;
  4. function NMax(a:mas; n:integer):integer;
  5. var
  6. max,min,i: integer;
  7. begin
  8. max:=a[i];
  9. min:=a[i];
  10. for i:= 1 to n do
  11. begin
  12. if a[i]>max then max:=a[i];
  13. if a[i]<min then min:=a[i];
  14. end;
  15. Writeln ('Максимальный элемент массива=',max,'');
  16. Writeln ('Минимальный элемент массива=',min,'');
  17. end;
  18. var
  19. a : array [1..n] of integer;
  20. k,i: integer;
  21. begin
  22. for i:=1 to n do
  23. begin
  24. write ('введите ' ,i, ' элемент массива');
  25. readln (a[i]);
  26. begin
  27. k:=NMax(a,n);
  28. end;
  29. writeln (k);
  30. end;
  31. end.
Нажимаю команду "Выполнить" он пишет следующую ошибку: (27) : Нельзя преобразовать тип array [1..4] of integer к array [1..4] of integer. Как ее исправить? P.S.27-это строка где находиться ошибка.

Решение задачи: «Найти минимальный и максимальный элемент массива»

textual
Листинг программы
  1. function Min(A : array of Real; N : Integer) : Integer;
  2. begin
  3.   Result := 0;
  4.   for var i := 1 to N-1 do
  5.     if A[i] < A[Result] then
  6.       Result := i;
  7. end;
  8.  
  9. function Max(A : array of Real; N : Integer) : Integer;
  10. begin
  11.   Result := 0;
  12.   for var i := 1 to N-1 do
  13.     if A[i] > A[Result] then
  14.       Result := i;
  15. end;
  16.  
  17. begin
  18.   var N := ReadLnInteger('Введите размер массива n =');
  19.   var A : array of Real;
  20.   SetLength(A, N);
  21.   for var i := 1 to N do
  22.     A[i-1] := ReadLnReal('Введите A[' + i.ToString + '] =');
  23.  
  24.   WriteLn(' Минимальный элемент массива A[', Min(A, N)+1, '] = ', A[Min(A, N)]);
  25.   WriteLn('Максимальный элемент массива A[', Max(A, N)+1, '] = ', A[Max(A, N)]);
  26. end.

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

  1. Программа начинается с определения двух функций: Min и Max, которые предназначены для поиска минимального и максимального элемента массива соответственно.
  2. Функция Min принимает два аргумента: A (массив) и N (размер массива). Результатом работы функции является индекс минимального элемента в массиве.
  3. Функция Max также принимает два аргумента: A (массив) и N (размер массива). Результатом работы функции является индекс максимального элемента в массиве.
  4. Далее идет основная часть программы, которая начинается с запроса у пользователя размера массива (переменная N).
  5. Создается массив A заданного размера.
  6. Затем происходит заполнение массива A с помощью цикла и функции ReadLnReal, которая запрашивает у пользователя ввод действительного числа и сохраняет его в соответствующем элементе массива.
  7. Вызываются функции Min и Max с аргументами A и N, и результат выводится на экран с помощью функции WriteLn. При этом к имени функции Min и Max добавляется номер найденного минимального и максимального элемента массива, чтобы корректно отобразить индексы.
  8. Значения минимального и максимального элемента массива также выводятся на экран с помощью функции WriteLn.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы