Отсортировать массив - Pascal (3818)
Формулировка задачи:
Упорядочить по возрастанию массив,содержащий 7 вещественных чисел. ВВод/вывод данных должен осуществляться посредством процедур ввода/вывода.Упорядоченный массив занести в файл.
Решение задачи: «Отсортировать массив»
textual
Листинг программы
var a:array[1..100] of integer; p,sl,j,f,k,i,n,m1,c:Integer; begin Randomize; //n:=Random(15); Readln(n); for i:=1 to n do begin a[i]:=Random(200)-100; writeln(a[i]); end; i:=1; //p:=0; while (i<=n) do//н-1 чтобы в последующем не рассматривать ситуацию begin k:=1; while (k<=(n-i)) do begin sl:=a[k+1];//запоминаем "следующий элемент if a[k]>sl then//сделаем массив возрастающим,поэтому если первый элемент -больше последующего, то begin //переставим их местами a[k+1]:=a[k];//по адресу а(к+1) пропишется элемент находящийся в а(к) a[k]:=sl;//а по адресу а(к) пропишется элемент находящийся ранее по адресу а(к+1) end; inc(k); end; //if k=n then begin inc(i); end; writeln('novyi'); for k:=1 to n do writeln(a[k]); Readln; end.
Объяснение кода листинга программы
- Создается переменная
a
типаarray[1..100] of integer
. Это означает, что будет создан массив из 100 целых чисел. - Создаются переменные
p
,sl
,j
,f
,k
,i
,n
,m1
иc
типаInteger
. Они будут использоваться для различных операций. - С помощью функции
Randomize
генерируется случайное число для переменнойn
. - Считывается значение переменной
n
с помощью функцииReadln
. - Запускается цикл
for
, который выполняетсяn
раз. В каждой итерации цикла значение переменнойi
устанавливается равным 1. - Запускается вложенный цикл
while
, который выполняется до тех пор, покаi
меньше или равноn
. - Внутри вложенного цикла
while
устанавливается переменнаяk
равной 1. - Внутри вложенного цикла
while
выполняется циклwhile
, который также выполняется до тех пор, покаk
меньше или равно(n-i)
. - Внутри вложенного цикла
while
сохраняется значение следующего элемента массива в переменнойsl
. - Проверяется условие
if a[k]>sl then
. Если это условие истинно, то происходит перестановка элементов массива. - Значение переменной
a[k]
заменяется на значение переменнойsl
, а значение переменнойsl
заменяется на значение переменнойa[k]
. - Увеличивается значение переменной
k
на единицу. - Если
k
равноn
, то выполняется код внутри блокаif
. Это означает, что была выполнена полная итерация цикла. - Увеличивается значение переменной
i
на единицу. - Выводится сообщение
novyi
. - Для каждой
k
от 1 доn
выводится значение элемента массиваa[k]
. - Запрашивается ввод с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д