IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сортировка выборкой корня N
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Ув. кодеры, у меня к вам просьба! Помогите с задачей.
Препод задал на лабу написать прогу, которая сортирует массив выборкой корня из N, где N длинна массива.
Облазил что только можно и нашёл прогу которая сортирует таким методом! Но там ограниченые пределы. т.е. длинна массива: 16, корень: 4. Надеялся прокатит. Не прокатило. Препод сказал что ему надо написать эту прогу через списки. Дальше у меня никаких идей.

В общем есть массив длинной N, достаём корень N и если выходит не целое число, то округляем к большему. Потом делим массив на корень N частей по корень N елементов и (дальше я не могу понять, говорю на пальцах как я понял) сортируем каждую часть так что б меньший елемент наружу вылазил. В общем ахтунг. Кто поможет, того расцелую. :p2:


ЗЫ: облазил факи и поисковик юзал - не нашёл... :/ Помогите плз. 13-го надо сдать, и так завалил уже зачёт...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


приблизительно: у вас очень ограниченые рамки, корень N выставляется вручную... В общем ему не нравится что прога многое делает не автоматически(эх, вот такой он... дядя Женя.. с факультета Кибернетики, универ Шевченко...) unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(fynjy @ 10.06.05 17:07)
у вас очень ограниченые рамки, корень N выставляется вручную...

Ничего себе, "ограниченные рамки"!!! 1600 элементов blink.gif
Кстати, чтобы не было претензий по "ручной работе", определение корня тоже можно свалить на компилятор... Вместо этого:
const
SqrtMax = 40;
...
var
B : Array [1..SqrtMax] Of Integer;
W : Array [1..SqrtMax] Of Integer;

работай с "кучей":
type
PSqrtArray = ^sqrtArray;
sqrtArray: array[1 .. (maxint div sizeof(integer))] of integer;
Var
B, W: PSqrtArray;
...
{ в программе: }
GetMem(B, Succ(Trunc(max))*SizeOf(integer));
GetMem(W, Succ(Trunc(max))*SizeOf(integer));

...
{ когда закончил работу - очисть память: }
FreeMem(B, Succ(Trunc(max))*SizeOf(integer));
FreeMem(W, Succ(Trunc(max))*SizeOf(integer));
...

после этого вся разница будет заключаться в том, что вместо B[i] нужно будет разыменовать указатель: B^[i], но зато претензий насчет "мало автоматических действий" не будет... :yes:
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.09.2025 9:35
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name