Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2013, 23:17   #1
Grynyuk
 
Регистрация: 05.12.2013
Сообщений: 4
По умолчанию Найти ошибку карманная(распределительная) сортировка

Есть 2 процедуры - 1 для сортировки карманов вторая для сортировки массиву методом карманной сортировки.
Ошибок нет но результат - массив не сортируется. Помогите исправить
Код:
procedure QSort(first,last:integer);
      var
         L,R,c,X:integer;
      begin
         if first < last then
         begin
            X:= b[i,(first + last) div 2];
            L:= first;
            R:= last;
            while L <= R do
            begin
                while b[i,L] < X do
                   L:= L + 1;
                while b[i,R] > X do
                   R:= R - 1;
                if L <= R then
                begin
                   c:=b[i,L];
                   b[i,L]:=b[i,R];
                   b[i,R]:=c;
                   L:=L+1;
                   R:=R-1;
                end;
             end;
     QSort(first, R);
     QSort(L, last);
     end;
   end;
Код:
Procedure BucketSort(var m:array[1..10]of word);
begin
for i:=1 to n do
      begin
         b[(a[i] div 10)+1,razmer[(a[i] div 10)+1]+1]:=a[i];
         razmer[(a[i] div 10)+1]:=razmer[(a[i] div 10)+1]+1;
      end;
      for i:=1 to 10 do
         if razmer[i]<>0 then Qsort(1,razmer[i]);
      k:=0;
      for i:=1 to 10 do
      for j:=1 to razmer[i] do
      begin
         k:=k+1;
         a[k]:=b[i,j];
      end;
end;
Procedure Swap(Var a, b: word);
Var p: word;
begin
  p := a;
  a := b;
  b := p;
end;
Grynyuk вне форума Ответить с цитированием
Старый 06.12.2013, 21:30   #2
Grynyuk
 
Регистрация: 05.12.2013
Сообщений: 4
По умолчанию

все еще нужна помощь
Grynyuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка двумерного массива. Не могу найти ошибку Annushka19 Общие вопросы по Java, Java SE, Kotlin 1 06.11.2013 22:51
Сортировка одномерного массива. Паскаль. Не найти ошибку, Буду благодарна) ТатьянаЧернышева Помощь студентам 2 01.12.2011 22:06
Массивы . Сортировка методом вставки. Не могу найти ошибку Azzzza Общие вопросы C/C++ 0 05.05.2011 18:31
Сортировка списка, найти ошибку KIrich iz Che Общие вопросы C/C++ 4 08.07.2010 14:27
сортировка, найти ошибку надо( KIrich iz Che Общие вопросы C/C++ 0 25.05.2010 21:41