Вопрос по информатике:
Отсортировать последовательность 25 1 13 42 8 6 14
методом сортировки подсчетом.
- 11.04.2018 20:23
- Информатика
- remove_red_eye 3932
- thumb_up 10
Ответы и объяснения 1
Const
n = 7;
type
Vector = array[1..n] of integer;
procedure SortByCount(a: Vector; kol: integer; var b: Vector);
{Сортировка подсчетом}
var
i, j: integer;
c: array[1..50] of integer;
begin
for i := 1 to 50 do C[i] := 0;
for j := 1 to kol do
c[A[j]] := c[A[j]] + 1;
for i := 2 to 50 do
c[i] := c[i] + c[i - 1];
for j := kol downto 1 do
begin
b[c[a[j]]] := a[j];
c[a[j]] := c[a[j]] - 1
end
end;
var
a: Vector := (25, 1, 13, 42, 8, 6, 14);
b: Vector;
i: integer;
begin
writeln('Исходный массив');
for i := 1 to n do write(a[i]:4);
writeln;
SortByCount(a, n, b);
writeln('Отсортированный массив');
for i := 1 to n do write(b[i]:4);
end.
Тестовое решение:
Исходный массив
25 1 13 42 8 6 14
Отсортированный массив
1 6 8 13 14 25 42
- 12.04.2018 07:56
- thumb_up 18
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.