Нет перегруженной подпрограммы с такими типами параметров - PascalABC.NET (24408)
Формулировка задачи:
Ругается на 13-ую строчку.
Программа:
Листинг программы
- var k,a : array[1..n] of double;
- ///Сортирует массив k в порядке невозростания
- procedure Sort(k : array of double);
- begin
- for var i:=1 to n-1 do
- begin
- for var j:=1 to n-i do
- if k[j]<k[j+1] then swap(k[j],k[j+1]);
- end;
- end;
- Begin
- ...
- Sort(k);
- foreach l : double in k do write(l,' ');
- end.
Решение задачи: «Нет перегруженной подпрограммы с такими типами параметров»
textual
Листинг программы
- type tarr = array[1..n] of double;
- var k,a : tarr;
- ///Сортирует массив k в порядке невозростания
- procedure Sort(var k : tarr);
- begin
- for var i:=1 to n-1 do
- begin
- for var j:=1 to n-i do
- if k[j]<k[j+1] then swap(k[j],k[j+1]);
- end;
- end;
- Begin
- /// ...
- Sort(k);
- foreach l : double in k do write(l,' ');
- end.
Объяснение кода листинга программы
- Объявляется тип массива
tarr
как массив из doubles, размером от 1 до n. - Объявляются две переменные
k
иa
типаtarr
. - Создается процедура
Sort
, которая принимает на вход ссылку на массивk
и сортирует его в порядке возрастания. - Внутри процедуры
Sort
создаются два вложенных цикла:- Внешний цикл выполняется от 1 до n-1 (где n - размер массива).
- Внутренний цикл выполняется от 1 до n-i-1 (где i - номер итерации внешнего цикла).
- Если текущий элемент массива k[j] меньше следующего элемента k[j+1], то они меняются местами с помощью функции swap.
- После выхода из процедуры
Sort
, массивk
будет отсортирован в порядке возрастания. - В основной части программы (после
Begin
):- Вызывается процедура
Sort
с аргументомk
. - Затем, с помощью цикла foreach и функции write, элементы массива
k
выводятся на экран через пробел.
- Вызывается процедура
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д