Отсортировать массив целых чисел методом вставки в порядке возрастания - Turbo Pascal
Формулировка задачи:
Дан массив целых чисел А [1.N]. Отсортировать их методом вставки в порядке возрастания (оформить в виде про
Вот эту программу надо переделать, чтоб были функции и процедуры
Решение задачи: «Отсортировать массив целых чисел методом вставки в порядке возрастания»
textual
Листинг программы
PROGRAM LAB4;
USES CRT;
type
arr=ARRAY [1..10] OF INTEGER;
VAR
A: ARR;
I,N: INTEGER;
cc: REAL;
procedure sort(var x:arr; const n:integer);
var
i,j,t:integer;
begin
FOR I := 1 TO N-1
DO
FOR J := I + 1 to N
DO
IF x[J] < A[I]
THEN
BEGIN
T := x[I];
x[I] := x[J];
x[J] := T;
END;
end;
function avg( x:arr; const n:integer):real;
var
sum,kolich,i:integer;
begin
Sum := 0;
Kolich := 0;
FOR I := 1 TO N
DO
IF A[I] < 0
THEN
BEGIN
Sum := Sum + A[I];
Kolich := Kolich + 1;
END;
IF Kolich > 0
THEN
BEGIN
avg := Sum / Kolich;
Kolich := Kolich - 1
END
ELSE
WRITELN('chisel, ydov uslov, net');
end;
BEGIN
CLRSCR;
WRITE('Vvedite chislo elementov massiva N = ');
READLN(N);
WRITELN('Vvodite elementy massiva: ');
FOR I := 1 TO N
DO
READ(A[I]);
cc:=avg(a,n);
WRITELN('Srednee arif= ',cc:4:2);
sort(a,n);
WRITE('Otsortirovannyu po vosrastaniu massiv: ');
FOR I := 1 TO N
DO
WRITE (A[I]:4);
WRITELN;
END.
Объяснение кода листинга программы
- Создается программа Lab4, которая использует библиотеку CRT.
- Определяется тип данных arr, который представляет собой массив целых чисел размером от 1 до 10.
- Создаются переменные A, I, N и cc, которые представляют собой массив, индексы, номер элементов и среднее арифметическое соответственно.
- Определяется процедура sort, которая принимает массив x и его размер n в качестве параметров.
- Внутри процедуры sort происходит сортировка массива x методом вставки в порядке возрастания.
- Для каждого элемента x[i] выполняется проверка: если он меньше элемента A[i-1], то происходит обмен элементов.
- В функции avg, которая вычисляется внутри процедуры sort, происходит подсчет суммы и количества элементов массива.
- После завершения сортировки вызывается функция avg, чтобы вычислить среднее арифметическое.
- Выводится сообщение о том, что среднее арифметическое равно определенному значению.
- Выводится отсортированный массив.
- Программа завершается.