Сортировка элементов массива - Pascal ABC (12702)

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

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

Объясните пожалуйста )) Задача: Заполнить массив из 10 чисел, переставить элементы от большего к меньшему. Родилась такая программа: const n=10; var m: array [1..n] of integer; b:integer; c, i:byte; begin for i:=1 to n do begin m[i]:=random(100)-50; write(m[i]:4)//вывод элементов массива на экран end; for i:=2 to n-1 do for c:=1 to n-1 do if m[c]<m[c+1] then begin b:= m[c]; m[c]:=m[c+1]; m[c+1]:=b; end; writeln; for i:=1 to n do write(m[i]:4); end. Изначально во втором цикле было: for i:=1 to n-1. Но учитель написала, что количество проверок можно сократить. Поэтому интуитивно было переписано for i:=2 to n-1. А понять почему не могу (( Программа в обоих вариантах работает корректно.

Решение задачи: «Сортировка элементов массива»

textual
Листинг программы
var
mas:array [1..100] of int64;
 N, i, o, g, j, p, y: int64;
   
begin
readln (o);
for i:=1 to o do begin
read(n);
mas[i]:=n;
end;
for g:=1 to o-1 do
for j:=1 to o-g do 
if mas[j]>mas[j+1] then begin
p:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=p;
end;
write(mas);
end.

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

В данном коде происходит сортировка элементов массива.

  1. Создается переменная mas, которая представляет собой массив целых чисел размером от 1 до 100.
  2. Задаются переменные N, i, o, g, j, p и y, которые будут использоваться в цикле.
  3. Выводится запрос на ввод числа o, которое представляет собой количество элементов для сортировки.
  4. В цикле for считывается число n и присваивается элементу массива mas[i].
  5. Повторно запускается цикл for, но уже с ограничением от 1 до o-1. В этом цикле происходит сравнение элементов массива mas[j] и mas[j+1].
  6. Если mas[j] больше mas[j+1], то происходит обмен этих элементов: p присваивается значение mas[j], mas[j] присваивается значение mas[j+1], а mas[j+1] присваивается значение p.
  7. После завершения внутреннего цикла выводится отсортированный массив mas. Таким образом, данный код выполняет сортировку элементов массива в порядке возрастания.

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


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

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

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