В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
makovskaya2001
makovskaya2001
02.05.2023 05:07 •  Информатика

Отсортировать последовательность 25 1 13 42 8 6 14 методом сортировки подсчетом.

Ответ:
fivmif
fivmif
08.07.2020 06:59
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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?