Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 25

Randomized-select

20.12.2010, 18:19. Показов 1094. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
надо реализовать этот алгоритм.
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
type
  mass = array[1..100] of integer;
 
function partition(a: mass; p, r: integer): integer;
var
  i: integer;
begin
  i := random(r, p);
  var x := a[i];
  a[i] := a[r];
  a[r] := x;
  partition := partition(a, p, r);
end;
 
 
function select(a: mass; p, r, i: integer): integer;
var
  q, k: integer;
begin
  if p = r then result := a[p];
  q := partition(a, p, r);
  k := q - p + 1;
  if i <= k then
    select(a, p, q, i)
  else select(a, q + 1, r, i - k);
end;
 
 
var
  b: mass;
  x, i: integer;
 
begin
  writeln('размер маасив');
  readln(x);
  for i := 1 to x do 
  begin
    b[i] := random(15);
    write(b[i], ' ');
  end;
  write(select(b, x, 1, 1));
end.
опираясь на псевдокод получил следующее.но переполняется программный стек.в чем я ошибся?

Добавлено через 15 часов 31 минуту
help
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2010, 18:19
Ответы с готовыми решениями:

Сортировка по алгоритму randomized-quicksort
Нужен код сортировки массива за алгоритмом сортировки randomized- quicksort. Не могу найти.

Как изменить значение одного select-а при изменении другого select-а?
Добрый день! Подскажите как изменить значение select при изменении другого select. первый: &lt;select id=&quot;options&quot;&gt; ...

Сохранение значения select и работоспособность второго select после отправки формы
Добрый вечер!Есть проблемка-не могу сохранить значение селекта,сохранив работоспособность др.селектов после отправки формы....страну...

3
 Аватар для Авель
18 / 18 / 15
Регистрация: 28.10.2010
Сообщений: 111
20.12.2010, 18:27
Запусти программу на pascalABC(для примера) увидишь сколько ошибок.А переполнение стека может быть,если вес переменных, превысил памать выделенную ОС
0
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 25
20.12.2010, 23:20  [ТС]
это значит что нет выхода из рекурсии.
но дело не в этом.я алгоритм не могу понять
0
G![]b
27.12.2010, 12:47
что самое интересное и я тоже но ты как минимум пропустил выход из функции на 20 строке ... если присвоил результат та и выходи из функции... и походу пропустил ещё одну фунцкию вот:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function Partition(p, r: longint): longint;//вроде как сортируем ту часть что выбрали
var
  i, j: longint;
begin
  
  i := p - 1;//собственно начало
  j := r + 1;//собственно конец
  while TRUE do //вечный цикл
  begin
    repeat 
      j := j - 1;
      if j<p then j:=p;
    until (z[j] <= z[p]) or (j <= p);//идём по массиву пока не найдём 
        //элемент меньше z[p]
    repeat 
      i := i + 1;
      if i>r then i:=r;
    until (z[i] >= z[p]) or (i >= r);//идём по массиву пока не найдём 
    //элемент больше z[p]
    if i < j   then swap(z[i], z[j])//если z[i] левее z[j] то меняем их местами
    else begin Partition := j;exit; end;//иначе возвращаем значение
  end;
end;
Кстати ты случайно не из Полоцка... или НП.. просто такое чувство что только тут дают такие тупые задания...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2010, 12:47
Помогаю со студенческими работами здесь

Как при изменении одного <select> подгрузить в другой <select> данные...
Как при изменении одного &lt;select&gt; подгрузить в другой &lt;select&gt; данные... пример: с марками машин. При выборе 'TOYOTA'...

Как отображать определенные данные в <select> в зависимости от значений в другом <select>?
Здравствуйте! У меня на страницу есть два &lt;select&gt;. В каждом из них располагаются даты в формате dd.mm.yyyy. &lt;select...

Сохранение значения select и работоспособность второго select после отправки формы
Добрый вечер!Есть проблемка-не могу сохранить значение селекта,сохранив работоспособность др.селектов после отправки формы....страну...

<SELECT ... MULTIPLE>...</SELECT> Как вытащить всё что выбрано?
Есть форма SELECT c MULTIPLE ON. Как в ASP вытащить всё что выбрал пользователь? (Желательно на VBScript)

При выборе элемента в <select> менять содержимое другого <select>
Может кто-то подсказать. У меня есть select на форме. Например: &lt;select name=day_s size=1&gt; &lt;option value=1&gt; Понедельник &lt;/...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru