С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
KR1
0 / 0 / 1
Регистрация: 26.09.2017
Сообщений: 28
1

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

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

Дана последовательность, элементы которой есть целые двузначные числа. Упорядочить последовательность по возрастанию сумм цифр соответствующих элементов, методом естественного слияния
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2017, 15:26
Ответы с готовыми решениями:

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

Сортировка столбцов матрицы по возрастанию сумм элементов столбца
Помогите пожалуйста разобраться с задачей: d vfccbdt mxn нужно отсартировать по...

Сортировка по возрастанию методом выбора минимума
Помогите сделать. Сортировка по возрастанию методом выбора минимума....

Сортировка массива методом простого выбора по возрастанию
Уже долго пытаюсь вникнуть в это всё... Увы, не понимаю я что там да как......

Сортировка одномерного массива по возрастанию методом прямого выбора
разработать программу реализующию сортировку одномерного массива по возрастанию...

2
Соколиный глаз
C#
226 / 165 / 114
Регистрация: 25.07.2014
Сообщений: 3,275
Записей в блоге: 10
Завершенные тесты: 2
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
KR1
0 / 0 / 1
Регистрация: 26.09.2017
Сообщений: 28
23.10.2017, 18:39  [ТС] 3
Спасибо большое, выручили!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2017, 18:39

сортировка последовательностипо возрастанию(убыванию) методом простого выбора.
записать программу,выполняющую следующие операции: 1.ввод с клавиатуры...

Сортировка строк двумерного массива по возрастанию методом прямого выбора.
Выполнить сортировку в каждой строке двумерного массива случайных целых чисел...

Сортировка пузырьковым методом очень срочно!!! Вначале - чётные по возрастанию, затем нечётные - по убыванию.
Упорядочить одномерный массив так, чтобы в начале располагались четные элементы...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru