0 / 0 / 1
Регистрация: 26.09.2017
Сообщений: 28
1

Сортировка методом слияния по возрастанию сумм цифр

23.10.2017, 15:26. Показов 1069. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана последовательность, элементы которой есть целые двузначные числа. Упорядочить последовательность по возрастанию сумм цифр соответствующих элементов, методом естественного слияния
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2017, 15:26
Ответы с готовыми решениями:

Сортировка массива в порядке убывания сумм цифр методом Шелла
Отсортировать массив в порядке убывания сумм цифр по методу Шелла.

Сортировка массива по возрастанию методом слияния
Дан одномерный массив из n (n≤10^6) элементов a1,a2,…,an.(|ai|≤2×10^9). Сортировать по возрастанию...

Отсортировать массив C[m] по возрастанию методом слияния.
Отсортировать массив C по возрастанию методом слияния.

Сортировка последовательности целых чисел методом прямого слияния и методом цифровой сортировки
Задание звучит вот так: 1.Разработать процедуры сортировки последовательности целых чисел методом...

2
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
23.10.2017, 17:13 2
Лучший ответ Сообщение было отмечено KR1 как решение

Решение

Писал давно:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
const
  N = 10;
 
var
  A: array of integer;
 
function Merge(a, b: array of integer): array of integer;
var
  merged: array of integer;
begin
  var s := Length(a) + Length(b);
  SetLength(merged, s);
  var ai := 0;
  var bi := 0;
  
  for var i := 0 to s - 1 do
    if (ai < Length(a)) and (bi < Length(b)) then
      if a[ai] < b[bi] then
      begin
        merged[i] := a[ai];
        Inc(ai);
      end
      else
      begin
        merged[i] := b[bi];
        Inc(bi);
      end
    else
    if ai < Length(a) then
    begin
      merged[i] := a[ai];
      Inc(ai);
    end
      else
    begin
      merged[i] := b[bi];
      Inc(bi);
    end;
  Result := merged;
end;
 
function MergeSort(a: array of integer): array of integer;
begin
  if Length(a) = 1 then
    Result := a
  else
  begin
    var m := Length(a) div 2;
    Result := Merge(MergeSort(a.Take(m).ToArray()), MergeSort(a.Skip(m).ToArray()));
  end;
end;
 
begin
  SetLength(A, N);
  for var i := 0 to N - 1 do
    A[i] := Random(100);
  
  Writeln('Изначальный массив:');
  Println(A);
  
  Writeln('Измененный массив:');
  Println(MergeSort(A));
  Readln();
end.
1
0 / 0 / 1
Регистрация: 26.09.2017
Сообщений: 28
23.10.2017, 18:39  [ТС] 3
Спасибо большое, выручили!
0
23.10.2017, 18:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2017, 18:39
Помогаю со студенческими работами здесь

Ускоренная сортировка методом пузырька и методом слияния
Друзья помогите. Условие задачи: Составить две программу, которые реализуют алгоритм ускоренной...

Сортировка методом слияния
Применяя сортировку методом слияния, отсортировать массив, файл, список, элементами которых ...

Сортировка методом слияния
Народ помогите с сортировкой списка слиянием! Вот нашел код в интернете но не как не могу...

Сортировка методом прямого слияния
Помогите,отсортировать строки текстового файла в алфавитном порядке методом прямого слияния ...

Нисходящая сортировка методом слияния
Добрый день ребята!!! Мне нужно сделать нисходящею сортировку методом слияния! Я набросал...

Сортировка списка методом слияния
Помогите пожалуйста сделать сортировку методом слияния. Очень выручите.... #include &lt;iostream&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru