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

Сортировка пузырьком

06.12.2009, 21:05. Показов 52417. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи,прошу помощи.
Нужно отсортировать массивчик методом пузырька.
Как только не пробовал..Никак не выходит.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
begin
for i:=1 to N do
begin
for j:= N to i do
begin
if m[i-1[<m[i] then
begin
a:=m[i-1];
m[i-1]:=m[i];
m[i]:=a;
end;
end;
end;
for j:=1 to N do
write (m[j]:4];
end;
В результате получается тот же самый массив,что и исходный.Неотсортированный то есть.

Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2009, 21:05
Ответы с готовыми решениями:

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array of integer; Var i,b,n,j,a:...

Сортировка Пузырьком,
Задача: Дана последовательность не более 100 чисел,вводятся все числа пользователем 0-конец файла (программы) Отсортировать все...

Стек сортировка пузырьком
есть код программы, но не могу понять как реализовать сортировку без использование массива и копошение во внутренностях(работать со...

44
localhost
 Аватар для Wassago
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
06.12.2009, 21:17
Так попробуй
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
for i:=1 to N-1 do
begin
  for j:=i+1 to N do
  begin
    if m[i]<m[j] then
    begin
       a:=m[i];
       m[i]:=m[j];
       m[j]:=a;
    end;
   end;
end;
1
 Аватар для lolopolosko
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
06.12.2009, 21:18
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
program VR;
uses crt;
const
N=5;
var
a:array[1..N] of integer;
buf:integer;
j,i:integer;
begin
for i:=1 to N-1 do 
read (a[i]);
readln(a[N]);
writeln('Sort...');
for i:=1 to N-1 do
begin
for j:=1 to N-1 do
begin
if a[j]>a[j+1] then
begin
buf:=a[j];
a[j]:=a[j+1];
a[j+1]:=buf;
end;
end;
for j:=1 to n do
write(a[j],' ');
writeln;
end;
end.
0
 Аватар для Sarmak
58 / 57 / 5
Регистрация: 01.12.2009
Сообщений: 177
06.12.2009, 21:18
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
  for i:=1 to N-1 do
 for j:= 2 to N do
if m[i]<m[j] then
begin
a:=m[i];
m[i]:=m[j];
m[j]:=a;
end;
for j:=1 to N do
write (m[j]:4];
end;
куча begin end'ов совершенно не требуется.
0
localhost
 Аватар для Wassago
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
06.12.2009, 21:32
Цитата Сообщение от Sarmak Посмотреть сообщение
for j:= 2 to N do
Sarmak, Вы уверены что это правильно?
0
 Аватар для Sarmak
58 / 57 / 5
Регистрация: 01.12.2009
Сообщений: 177
06.12.2009, 21:35
Цитата Сообщение от Wassago Посмотреть сообщение
Sarmak, Вы уверены что это правильно?
ваш вариант правильнее. =)
1
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 27
06.12.2009, 21:43  [ТС]
Так чей вариант верный?Что то слишком много вариантов,а я новичок же ещё
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
06.12.2009, 21:44
Enzo76, правильный вариант у Wassago.
2All, прекращайте разводить флуд в теме.
1
 Аватар для lolopolosko
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
06.12.2009, 21:47
Inadequate, Вариант правильный у всех...
Enzo76, любой выбирай
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
06.12.2009, 21:59
Цитата Сообщение от lolopolosko Посмотреть сообщение
Inadequate, Вариант правильный у всех...
lolopolosko, я бы не назвал Ваш вариант корректным с вашими begin'ами. А вариант Sarmak выполняет лишние действия. Вариант Wassago написан так как это и должно быть.
0
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 27
06.12.2009, 22:09  [ТС]
Не работает.Что то не то...
0
 Аватар для lolopolosko
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
06.12.2009, 22:09
Inadequate, у каждого свой стиль програмирование...и вопрос был задан у кого правильный вариант, а не у кого больше begin'ов..

Enzo76, мой попробуй...мой точно правильный так как сам проверял
1
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 27
06.12.2009, 22:12  [ТС]
Sarmak
Спасибо тебе большое.Твой вариант помог!
0
 Аватар для Sarmak
58 / 57 / 5
Регистрация: 01.12.2009
Сообщений: 177
06.12.2009, 22:13
Цитата Сообщение от lolopolosko Посмотреть сообщение
Inadequate, у каждого свой стиль програмирование...и вопрос был задан у кого правильный вариант, а не у кого больше begin'ов..

Enzo76, мой попробуй...мой точно правильный так как сам проверял
ник твой оправдывает тебя lolo...

в правильном варианте написанном во втором сообщении просто нет вывода массива

Добавлено через 44 секунды
в моем варианте ошибка. переделай вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
  for i:=1 to N-1 do
 for j:= i+1 to N do
if m[i]<m[j] then
begin
a:=m[i];
m[i]:=m[j];
m[j]:=a;
end;
for j:=1 to N do
write (m[j]:4];
end;
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.12.2009, 22:14
Вот классический алгоритм пузырьковой сортировки.
Code
1
2
3
4
5
6
7
t := истина
цикл пока t:
  t := ложь
  цикл для j = 1, 2, ..., n − 1:
    если A[j] > A[j+1], то:
      обменять местами элементы A[j] и A[j+1]
      t := истина
1
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 27
06.12.2009, 22:14  [ТС]
Хмм)Получился вариант с сортировкой по убыванию)А надо бы по возрастанию)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.12.2009, 22:15
Enzo76, Знак сравнения поменяй на обратный.
1
 Аватар для Sarmak
58 / 57 / 5
Регистрация: 01.12.2009
Сообщений: 177
06.12.2009, 22:16
по возрастанию:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
  for i:=1 to N-1 do
 for j:= i+1 to N do
if m[i]>m[j] then
begin
a:=m[i];
m[i]:=m[j];
m[j]:=a;
end;
for j:=1 to N do
write (m[j]:4];
end;
Puporev, лишняя некому не нужная булевская переменная. этот вариант уже давно был признан неккоректным.
1
1 / 1 / 0
Регистрация: 05.12.2009
Сообщений: 27
06.12.2009, 22:16  [ТС]
Цитата Сообщение от Sarmak Посмотреть сообщение
ник твой оправдывает тебя lolo...

в правильном варианте написанном во втором сообщении просто нет вывода массива

Добавлено через 44 секунды
в моем варианте ошибка. переделай вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
  for i:=1 to N-1 do
 for j:= i+1 to N do
if m[i]<m[j] then
begin
a:=m[i];
m[i]:=m[j];
m[j]:=a;
end;
for j:=1 to N do
write (m[j]:4];
end;
А где же у тебя ошибка?Я не вижу различий с первоначальным вариантом.
0
 Аватар для Sarmak
58 / 57 / 5
Регистрация: 01.12.2009
Сообщений: 177
06.12.2009, 22:18
for j:= i+1 to N do
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2009, 22:18
Помогаю со студенческими работами здесь

Сортировка пузырьком по убыванию
const n=10; var A:array of integer; m,i,j,x:integer; Sr:real; Begin Sr:=0; For i:=1 to n do begin ...

1)Бинарный поиск 2)Сортировка включением 3)Шейкерная сортировка 4)Сортировка разделением
1)В заданном массиве К(N) найти индексы элементов, которые кратны минимальному значению элемента массива. 2)Задан массив AX (N). Добавить...

Построить блок-схему сортировки пузырьком
Помогите построить блок-схему Program FourSort; uses crt; const N=20; var i,j,k,min,pos,temp,cnt1,cnt2,cnt3,cnt4: integer; ...

рекурсивная программа для сортировки пузырьком
Дан массив вещественных чисел . Напишите рекурсивную программу для сортировки массива методом пузырька.

Сортировка пузырьком, используя компаратор
Всем привет,помогите ,пожалуйста,нужно написать сортировку пузырьком с помощью компаратора,но у меня возникает ошибка типов в 26 строке. ...


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

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru