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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2011, 17:03   #1
w1zardblizzard
Новичок
Джуниор
 
Регистрация: 27.01.2011
Сообщений: 1
Сообщение Адресная сортировка

Добрый вечер!
Имеется программа адресной сортировки, но не могу разъяснить что означают некоторые строки в ней.
Т.е. суть в том что встречал разные трактовки осуществления алгоритма реализации сортировки вычисления адреса.
Один из них заключается в: 1)нахождение максимального элемента массива m(i)=max m;(m-наш массив)2)определение ключа key=m(i)/I (I - количество элементов массива);3)нахождение i-го адреса для всех m(i); A(i)=m(i)/key.
Другой вариант, то что этот метод для целых чисел из небольшого диапазона.Для каждого элемента определяется сколько элементов меньше определенного числа находятся в заданном массиве и поместить это число на соответствующее место.
Сам код:
Код:
Program Adress;
uses crt;
const n=10;{количество элементов массива}
var mas:array [1..n] of byte;{заданный массив}
      b:array [byte] of 1..n;{массив адресов вроде}
      i,k,s:integer;
begin
clrscr;
randomize;
writeln('3agaHHbIu MaccuB:');
for i:=1 to n do begin
mas[i]:=random(10)+1;{заполнение массива}
write(mas[i]:4);end;
for i:=1 to 255 do b[i]:=1;{?}
for i:=1 to n do b[mas[i]]:=b[mas[i]]+1;{?}
k:=-1;
s:=0;
for i:=0 to 255 do begin
if b[i]<>0 then begin s:=s+b[i];{?}
while k+1<>s do begin k:=k+1;{?}
mas[k]:=i;
end;end;end;
writeln;
writeln('oTcopTupoBaHHbIu MaccuB:');
for i:=1 to n do
write(mas[i]:4);{вывод массива}
end.
Поможет кто разобраться в данной программе? Массив то она сортирует, но что делают некоторые блоки отмеченные {?} не совсем понятно.
w1zardblizzard вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
адресная арифметика sterh11001100 Microsoft Office Excel 1 08.12.2010 13:20
Адресная арифметика и матрица. GrindeX Общие вопросы C/C++ 8 08.03.2010 15:03
адресная переменная и двумерный массив? jojahti Общие вопросы C/C++ 9 13.08.2009 19:00
Адресная книга immor Общие вопросы Delphi 4 07.06.2009 18:51
Адресная книга Snake_ua PHP 6 26.02.2008 09:40