С помощью двух функций найти их минимальные и максимальные значения - Free Pascal
Формулировка задачи:
Есть несколько массивов, с помощью одной процедуры заполнить их всех, а с помощью двух функций найти их минимальные и максимальные значения. Вот мой код, но не работает не смотря на то, что я перепробовал все методы, который нашел только в книгах и интернете. Выдает ошибку см.внизу.
Program6.pas(47) : Нельзя преобразовать тип array [1..5] of integer к array of integer
program Program6; const n = 5; m = 5; var a: array[1..n]of integer; b: array[1..m]of integer; c: array[1..30]of integer; t: integer; procedure mas(j: array of integer; k: integer); var i: integer; begin Randomize; for i := 1 to k do j[i] := Random(50) end; function min(j: array of integer; k: integer): integer; var i, m: integer; begin m := 1; for i := 1 to k do begin if j[i] < j[m] then m := i end; result := j[m] end; function max(j: array of integer; k: integer): integer; var i, m: integer; begin m := 1; for i := 1 to k do begin if j[i] > j[m] then m := i end; result := j[m] end; begin mas(a, n); mas(b, m); mas(c, 30); writeln(max(a, n)); writeln(min(b, m)); writeln(max(c, 30)); Readln end.
Решение задачи: «С помощью двух функций найти их минимальные и максимальные значения»
textual
Листинг программы
program Program6; const n = 5; m = 5; type massiv=array[1..30]of integer; procedure mas(var j: massiv; k: integer); var i: integer; begin for i := 1 to k do j[i] := Random(50) end; function min(j:massiv; k: integer): integer; var i, m: integer; begin m := 1; for i := 1 to k do if j[i] < j[m] then m := i; result := j[m] end; function max(j:massiv; k: integer): integer; var i, m: integer; begin m := 1; for i := 1 to k do if j[i] > j[m] then m := i; result := j[m] end; var a,b,c:massiv; begin randomize; mas(a, n); mas(b, m); mas(c, 30); writeln(max(a, n)); writeln(min(b, m)); writeln(max(c, 30)); Readln end.
Объяснение кода листинга программы
- Объявлены константы n = 5 и m = 5, а также тип данных massiv = array[1..30] of integer.
- Объявлена процедура mas с параметрами var j: massiv и k: integer. В ней объявлена переменная i: integer и выполняется цикл for i := 1 to k, в котором каждому элементу j[i] присваивается случайное значение Random(50).
- Объявлена функция min с параметрами j:massiv и k: integer. В ней объявлены переменные i: integer и m: integer. Выполняется цикл for i := 1 to k, в котором сравниваются значения j[i] и j[m]. Если j[i] меньше j[m], то m присваивается значение i. После выполнения цикла, результатом функции становится значение j[m].
- Объявлена функция max с параметрами j:massiv и k: integer. В ней объявлены переменные i: integer и m: integer. Выполняется цикл for i := 1 to k, в котором сравниваются значения j[i] и j[m]. Если j[i] больше j[m], то m присваивается значение i. После выполнения цикла, результатом функции становится значение j[m].
- Объявлены переменные a, b и c типа massiv.
- Выполняется функция mas с параметрами a, n. Значениям каждого элемента массива a присваивается случайное значение.
- Выполняется функция mas с параметрами b, m. Значениям каждого элемента массива b присваивается случайное значение.
- Выполняется функция mas с параметрами c, 30. Значениям каждого элемента массива c присваивается случайное значение.
- Выводится значение функции max с параметрами a, n.
- Выводится значение функции min с параметрами b, m.
- Выводится значение функции max с параметрами c, 30.
- Вводится значение с клавиатуры с помощью функции Readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д