Форум программистов, компьютерный форум CyberForum.ru

Сортировка - C++

Восстановить пароль Регистрация
 
Андрей 94
19 / 19 / 1
Регистрация: 11.11.2012
Сообщений: 253
14.12.2013, 15:42     Сортировка #1
Нужно создать программу для сортировки массива из 10 элементов типа unsigned int поразрядной сортировкой и сортировкой выбором . заполнение массива случайно или как константа.
вот код паскаль:
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
uses crt;
const n=10;
type
itype=word;
var mass : array [1..n] of itype;
    i, j,x, k: integer;
 
Procedure Swap(Var a, b: itype);
Var p: integer;
begin
  p := a;
  a := b;
  b := p;
end;
 
function LengthI(ch:longint):integer;
var
 s:string;
begin
  str(ch,s);
  lengthi:=length(s);
end;
function NumberPos(ch,posi:longint):integer;
var
 s:string;
 code,tmpi:integer;
begin
  str(ch,s);
  if length(s)<posi then
    numberpos:=0
  else
  begin
    delete(s,1,length(s)-posi);
    if length(s)>1 then
      delete(s,2,length(s)-1);
    val(s,tmpi,code);
    numberpos:=tmpi
   end;
end;
 
procedure BucketSort(var mas: array [1..n] of itype);
var
  i,k,koliter,posf,l,posi,tmp:longint;
  mastmp: array [1..n] of itype;
  pos: array [1..n] of byte;
begin
  koliter:=0;
 
  for i:=1 to n do
  begin
    if lengthi(mas[i])>koliter then
      koliter:=lengthi(mas[i]);
    pos[i]:=0;
  end;
  for i:=1 to koliter do
  begin
    for k:=1 to n do
    begin
      pos[k]:=numberpos(mas[k],i);
      mastmp[k]:=mas[k];
    end;
    posi:=1;
    for posf:=0 to 9 do
      for k:=1 to n do
        if (pos[k]=posf) then
        begin
          mas[posi]:=mastmp[k];
          inc (posi);
        end;
  end;
end;
procedure CreateArr;
const arr:array[1..10]of itype = (1235,2345,3462,42415,4214,2425,12412,4200,1255,24456);
var a:byte;
 begin
  randomize;
  WriteLn('1. Заполнение');
  WriteLn('   - случайно');
  WriteLn('   - константа');
  readln(a);
  case a of
  1:begin
  for i:= 1 to n do
     mass[i] := random(65535);
  writeln('масив создан');
    end;
  2: begin
  for i:= 1 to n do
     mass[i] := arr[i];
  writeln('масив создан');
     end;
 end;
 end;
Procedure PrintArr(var m:array[1..n] of word );
Begin
 for i:= 1 to n do
      write (m[i],'   ');
writeln;
end;
procedure SelectionSort(var m:array[1..n] of word );
begin
for i:= 1 to n-1 do
    begin
     for j:= i+1 to n do
         if mass[i]>mass[j] then
             swap(m[i],m[j]);
     end;
end;
begin
 
  WriteLn('1. создание');
  WriteLn('2. печать');
  WriteLn('3.сортировка выборомм');
  WriteLn('4. сортировка распределением');
  WriteLn('0. выход');
  Write(' выберите действие: ');
repeat
readln (x);
case x of
1:CreateArr();
2:PrintArr(mass);
3:SelectionSort(mass);
4: BucketSort(mass);
0:exit;
end;
 until false;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 15:42     Сортировка
Посмотрите здесь:

Сортировка C++
C++ Сортировка.
C++ Сортировка)
Сортировка C++
Сортировка C++
C++ Сортировка
Сортировка методом "быстрая сортировка" C++
Сортировка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
14.12.2013, 15:43     Сортировка #2
Алгоритмы сортировок
Андрей 94
19 / 19 / 1
Регистрация: 11.11.2012
Сообщений: 253
14.12.2013, 17:02  [ТС]     Сортировка #3
Цитата Сообщение от Doksim Посмотреть сообщение
я не очень понимаю но там по моему список а мне нужно для массива
Yandex
Объявления
14.12.2013, 17:02     Сортировка
Ответ Создать тему
Опции темы

Текущее время: 15:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru