Ошибка: "нет индексного свойства по умолчанию для типа byte" - PascalABC.NET

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

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

Решение задачи: «Ошибка: "нет индексного свойства по умолчанию для типа byte"»

textual
Листинг программы
procedure Sortvybora(na: byte; var a: massiv);// сортировка выбора
var
  i, j, nmin, c: byte;
begin
  for i := 1 to na do
  begin
    if (a[i] < 10) or (a[i] > 99) then continue;
    nmin := i;
    for j := i + 1 to na do
      if (a[j] > 9) and (a[j] < 100) and (a[j] < a[nmin]) then nmin := j;
    
    if nmin <> i then begin//сравнение
      c := a[i];//запминает пересылка элемента
      a[i] := a[nmin];//
      a[nmin] := c;//перестановка если нужна
    end; 
  end;
end;

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

В данной программе реализован алгоритм сортировки выбором. Он предназначен для работы с массивом байтов, представленным в виде диапазона от 10 до 99. Процедура начинается с цикла, который проходит по всем элементам массива. Если текущий элемент меньше 10 или больше 99, то он пропускается (continue). Если текущий элемент больше или равен 10 и меньше 99, то он помечается как минимальный элемент в этом диапазоне. Далее следует еще один цикл, который проходит по элементам, начиная с текущего элемента и до конца массива. Если текущий элемент больше 9 и меньше 100 и при этом меньше текущего минимального элемента, то он становится новым минимальным элементом. Если текущий минимальный элемент отличается от индекса текущего элемента, то производится перестановка элементов. В итоге получается отсортированный массив.

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

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