0 / 0 / 1
Регистрация: 17.01.2012
Сообщений: 71

Сортировка слов (строк) методом Боуза-нельсона

13.05.2016, 13:59. Показов 830. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток друзья. Суть задачи. Обычная сортировка слов(строк) методом Боуза-нельсона. Код не работает. Помогите найти ошибку.

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
43
44
45
46
47
48
49
50
51
52
53
Var
A: mass;
j, n:word;
 
Procedure Bose (Var AA; voz:Boolean; n: integer);
Var
m,j:word; x:mass;
 
Procedure Sli(j,r,m: word);
Begin
if j+r<=n Then
If m=1 Then
Begin
If voz Xor (A[j] < A[j+r]) Then
Begin
x[j]:=A[j];
A[j]:= A[j+r];
A[j+r]:=x[j];
End
End
Else
Begin
m:=m div 2;
Sli(j,r,m);
If j+r+m<=n Then
Sli(j+m,r,m);
Sli(j+m,r-m,m) End
End;
Begin
m:=1;
Repeat
j:=1;
While j+m<=n do
Begin
Sli(j,m,m);
j:=j+m+m
End;
m:=m+m
Until m >= n
End;
BEGIN
Writeln('Vvedite kol-vo slov: ');
readln(n);
For j:=1 to n do
begin
readln(A[j]);
end;
Readln;
Bose(A,true,n);
For j:=1 to n do
Write(A[j]);
Readln
END.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2016, 13:59
Ответы с готовыми решениями:

Сортировка слов(строк) методом пузырька и Боуза-Нельсона
Доброго времени суток,друзья! Помогите улучшить и облегчить код программ. Условие задачи: Составить две программы,которые реализуют...

Сортировка слов методом быстрой сортировки
Дана строка из m слов нужно выполнить сортировку слов методом быстрой сортировки. help pls

Сортировка слов по алфавиту методом выбора.
Как это дело реализовать? Задать числовое значение каждой букве в алфавите или же использовать аски ? Посоветуйте)

2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
13.05.2016, 15:10
Цитата Сообщение от Zmei Посмотреть сообщение
Обычная сортировка слов(строк) методом Боуза-нельсона
Нет. Ваша программа сортирует числа. Строками здесь и не пахло.

Исправил орфографические ошибки.

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const
  n_max = 100;
 
type
  mass = array [1..n_max] of integer;
 
var
  A: mass;
  j, n: word;
 
procedure Bose(var AA: mass; voz: Boolean; n: integer);
var
  m, j: word;
  x: mass;
  
  procedure Sli(j, r, m: word);
  begin
    if j + r <= n Then
      if m = 1 Then
      begin
        if voz Xor (Aa[j] < Aa[j + r]) Then
        begin
          x[j] := Aa[j];
          Aa[j] := Aa[j + r];
          Aa[j + r] := x[j];
        end
      end
      Else
      begin
        m := m div 2;
        Sli(j, r, m);
        if j + r + m <= n Then
          Sli(j + m, r, m);
        Sli(j + m, r - m, m) end
  end;
 
begin
  m := 1;
  repeat
    j := 1;
    while j + m <= n do
    begin
      Sli(j, m, m);
      j := j + m + m
    end;
    m := m + m
  until m >= n
end;
 
begin
  Writeln('Vvedite kol-vo slov: ');
  readln(n);
  for j := 1 to n do
  begin
    readln(A[j]);
  end;
  Bose(A, true, n);
  for j := 1 to n do
    Write(A[j]:8);
  Readln;
end.
0
0 / 0 / 1
Регистрация: 17.01.2012
Сообщений: 71
13.05.2016, 15:34  [ТС]
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
Нет. Ваша программа сортирует числа. Строками здесь и не пахло.
Как же не сортирует.
Исправил строку
Pascal
1
mass = array [1..n_max] of integer;
на строку
Pascal
1
mass = array [1..n_max] of string;
И программа начала строки сортировать. Я вас благодарю за исправление ошибок. Хоть они и были орфографическими. Вы мне очень помогли. Спасибо вам большое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.05.2016, 15:34
Помогаю со студенческими работами здесь

Сортировка методом вставок последовательности из 24 слов
Задание: Сортировка методом вставок последовательности из 24 слов. Помогите, пожалуйста)

Сортировка методом вставок последовательности из 24 слов
Доброй ночи) Вот задание: Сортировка методом вставок последовательности из 24 слов Выручайте, ребят, через 7 часов сдавать лабу

Сортировка массива слов методом прямого выбора
Помогите пожалуйста сделать сортировку массива слов методом прямого выбора. То есть у меня есть массив слов, и мне сначала для сортировки...

Сортировка строк методом вставки
В общем, есть код который сортирует слова по алфавиту методом пузырька, но мне нужно сделать его методом вставки. Как переделать - не...

Сортировка строк матрицы методом выбора
Помогите исправить код или укажите ошибки. Мне надо чтобы он рассортировал строки матрицы методом выбора в убывающем порядке: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru