Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 23.09.2017
Сообщений: 64
1

Изменить порядок сортировки

11.02.2018, 20:51. Показов 415. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что нужно изменить в программе поразрядной сортировке, чтобы она сортировала по убыванию?
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
65
66
67
68
69
70
71
72
program a;    
 
var
  a, ai: array [1..100] of integer;
  c: array [0..9] of string[100];
  i, n, l, li, j, s, k, h, b: integer;
  m: string;
 
begin
  Writeln('кол-во элементов массива');
  readln(n);
  for i := 1 to n do
  begin
    Write('a[', i, ']=');
    readln(a[i]);
  end;
  for i := 1 to n do
    ai[i] := a[i];
  Writeln('до сортировки');
  for i := 1 to n do
    write(a[i], ' ');
  l := 0;
  b := a[1];
  while b > 0 do
  begin
    inc(l);
    b := b div 10;
  end;
  for i := 1 to n do
  begin
    li := 0;
    b := a[i];
    while b > 0 do
    begin
      inc(li);
      b := b div 10;
    end;
    if li > l then
      l := li;     {l самый большой разряд}
  end;
  li := 1;
  for j := l downto 1 do
  begin
    for i := 1 to n do
    begin
      b := a[i] div li mod 10;
      str(i, m);
      c[b] := c[b] + m + ' ';
    end;
    li := li * 10;
    s := 1;
    for i := 0 to 9 do
    begin
      while pos(' ', c[i]) > 0 do
      begin
        m := copy(c[i], 1, pos(' ', c[i]) - 1);
        val(m, b, h);
        a[s] := ai[b];
        inc(s);
        delete(c[i], 1, pos(' ', c[i]));
        m := '';
      end;
      c[i] := '';
    end;
    for i := 1 to n do
      ai[i] := a[i];
  end;
  Writeln('после сортировки');
  for i := 1 to n do
    Write(a[i], ' ');
  readln
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2018, 20:51
Ответы с готовыми решениями:

Соеденить два массива с данными о росте в один сохраняя порядок сортировки
В связи с финансовым кризисом в стране и с сокращением финансов на потребности школы два 10 класса...

Изменить порядок элементов массива X на обратный
Выполнить действия над массивами. Программа естественно должна обрабатывать любые числа для...

изменить порядок цифр
дано какое то число, например 123456, как сделать чтобы оно стало 654321?

Изменить порядок следования цифр в строке
Строка состоит только из цифр, нужно сделать(без перестановки) так, чтобы сначала шли двойки, потом...

0
11.02.2018, 20:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2018, 20:51
Помогаю со студенческими работами здесь

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

Изменить порядок следования массива на обратный
Дан одномерный массив. Изменить порядок следования массива на обратный. Помогите пожалуйста)

Изменить порядок сортировки
Привет..Возникла проблема с сортировкой. Есть SQL Server 2005. На сервере несколько таблиц, из них...

Изменить порядок сортировки в массиве
имеется массив @mo в котором каждый элемент это текст с несколькими строками, количество строк...


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

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