Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Паскаль. Массивы. Кто бы мог пояснить код?

ᅠ ᅠ Гуру (3868), на голосовании 12 месяцев назад
Чего-то путаюсь с пузырьковым методом, не могли бы пояснить данный код вставляя значения вместо переменных? Надо числа в массиве вывести по убыванию
 program test_1; 
var i, j, n: integer;
arr: array[0..9] of integer = (3, 4, 7, 1, 8, 2, 5, 4, 6, 9);
begin
for i := 0 to 8 do
for j := i + 1 to 9 do
if arr[i] < arr[j] then
begin
n := arr[i];
arr[i] := arr[j];
arr[j] := n;
end;
for i := 0 to 9 do
writeln(arr[i]);
end.
Голосование за лучший ответ
Хасекура Айри Мыслитель (7731) 1 год назад
Объявляются переменные i, j, и n, а также массив arr из 10 целочисленных элементов, начальное значение которого задается.
 var 
i, j, n: integer;
arr: array[0..9] of integer = (3, 4, 7, 1, 8, 2, 5, 4, 6, 9);
Запускается внешний цикл for, который проходит по элементам массива от 0 до 8 включительно.
 for i := 0 to 8 do 
В условии if arr[i] < arr[j] then проверяется, если текущий элемент с индексом i меньше элемента с индексом j.

Если условие выполняется, то выполняется блок begin...end, в котором происходит обмен значениями элементов массива для сортировки в порядке убывания.
 begin 
n := arr[i];
arr[i] := arr[j];
arr[j] := n;
end;
После завершения сортировки выводятся элементы массива в упорядоченном по убыванию виде.
 for i := 0 to 9 do 
writeln(arr[i]);
Таким образом, в результате выполнения этого кода, массив arr будет отсортирован по убыванию, и его элементы будут выведены на экран.
ᅠ ᅠГуру (3868) 1 год назад
А без бота никак?
Хасекура Айри Мыслитель (7731) ᅠ ᅠ, а без вопроса самому понять элементарные методы никак?
Похожие вопросы