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


Гость






Цитата(fynjy @ 9.06.05 22:14)
Препод задал на лабу написать прогу, которая сортирует массив выборкой корня из N, где N длинна массива.

Метод квадратичной выборки... Возьми присоединенный архив, там есть программа kurs-12.pas она работает с массивами длинной до 1600 элементов...


Прикрепленные файлы
Прикрепленный файл  Kurs_12.zip ( 12.76 килобайт ) Кол-во скачиваний: 519
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Я какраз показывал преподу эту прогу (редактировал ессесно).. он не принял... что делать... понятия не имею...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Ищущий истину
******

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

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


а почему не принял?


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


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


Гость






Цитата(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:
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





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

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


оооо.. блин.. вот наверно про это он и говорил! volvo, я тебя лублу smile.gif)))))))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Volvo, спасибо огромное!!! yes2.gif Случайно набрел на этот форум, мне тоже этим методом сортировать задали!
 К началу страницы 
+ Ответить 

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

 





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