Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум Pascal (Паскаль)
Восстановить пароль Регистрация

Ответ Создать новую тему
 
08.06.2009, 22:26   #1
tentakle
Новичок
Регистрация: 08.06.2009
Сообщений: 4
Репутация: 0 (0)
Файл и метод "пузырька" / Pascal (Паскаль)

Произвести сортировку файла целых чисел методом "пузырька".
08.06.2009, 22:26
AdAgent
Объявления
08.06.2009, 23:03   #2
sheka
Босс
Регистрация: 03.06.2009
Сообщений: 751
Репутация: 161 (128)
Лучшие ответы: 4
Файл и метод "пузырька"

8. Алгоритми впорядкування табличних величин. "Метод бульбашки".
"Метод бульбашки" основується на перестановці сусідніх чисел. Для впорядкування елементів масиву здійснюємо повторні проходи по масиву, кожного разу переміщаючи найменший елемент частини масиву, що залишився, на початок.
Переміщення елементів масиву здійснюється таким чином: переглядаємо масив справа наліво, порівнюючи пари сусідніх чисел; якщо числа в парі розміщені в порядку зростання, то залишаємо їх без зміни, а якщо ні  то міняємо їх місцями.
В результаті першого проходу найменше число буде поставлене на поча¬ток масиву. У другому проході такі операції виконуються над елементами з останнього до другого, у третьому  з останнього до третього і т.д. Впо¬рядкування масиву буде закінчено, якщо при проході масиву не виконувати¬меться жодної перестановки елементів масиву. Факт перестановки фіксується з допомогою допоміжної змінної ргар, яка на початку має значення 0 і набуває значення 1 тоді, коли виконуватиметься перестановка в якій-небудь парі. Прапорець PRAP використовується з метою економії часу в тому випадку, коли частина елементів масиву наперед впорядкована.
Код Code
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
Program BUBBLESORT; 
Uses CRT;
Const N=10; {кількість елементів масиву}
 Var A:array[l..N] of integer; {опис масиву}
 I,j:integer; {допоміжні змінні}
 ADOP:integer; {допоміжна змінна}
  PRAP:integer; 
   begin 
       clrscr;
writeln('Введіть елементи масиву');
 for i:=l to N do begin
write('A[',i, ']='); readln(A[i]); end;
writeln('Масив до сортування:'); writeln;
for i:=l to N do write(A[i]:5); writeln;
i:=2;
repeat 
prap:=0;
for j:=N downto і do begin
if A[j]<A[j-l] then begin
ADOP:=A[j-l];
A[j-1]:=A[j];
                                              A[j]:=ADOP;
                                                PRAP:=l; 
                                                             end; 
                                                        end; 
                      i:= i+1;
until PRAР=0; 
writeln;
     writeln('Macив після сортування:');
     writeln; 
     for i:=l to N do write(A[i]:5); 
     writeln; 
     end.
Другие темы раздела
Pascal Текстовый файл
Записать в текстовый файл первое предложение из данного параграфа. Определить число слов в данном предложении.
Pascal Темы - "Списки", "Деревья"
Если сможете помогите плззз написать 2 программы: 1.(Списки) С последовательности чисел удалить одинаковые, оставивши их по одному. 2.(Деревья) Вычислить длину пути от корня до вершины с заданным ключом. Списки не успел выучить и не сильно успеваю.. проги надо сделать до завтра... Если кто...
08.06.2009, 23:59  [ТС]   #3
tentakle
Новичок
Регистрация: 08.06.2009
Сообщений: 4
Репутация: 0 (0)
Файл и метод "пузырька"

работы с файлом нэ?
09.06.2009, 00:52   #4
sheka
Босс
Регистрация: 03.06.2009
Сообщений: 751
Репутация: 161 (128)
Лучшие ответы: 4
Файл и метод "пузырька"

Цитата Сообщение от tentakle Посмотреть сообщение
работы с файлом нэ?
??? не понял.
09.06.2009, 00:52
AdAgent
Объявления
09.06.2009, 02:59   #5
lexus_ilia
Форумчанин
Регистрация: 24.09.2008
Сообщений: 1,527
Репутация: 3012 (683)
Лучшие ответы: 12
Файл и метод "пузырька"

sheka, А знаете у нас оффициальный язык на форуме русский, хотелось бы в дальнейшем видеть от Вас сообщения с русским текстом.
09.06.2009, 07:18   #6
Puporev
Модератор
Регистрация: 18.05.2008
Сообщений: 64,996
Репутация: 42025 (30545)
Лучшие ответы: 1,725
Файл и метод "пузырька"

Сортировка в типизированном файле идет почти как в линейном массиве, только вместо прямого присваивания нужно читать элементы(read) и вставлять(write).
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
reset(g);
for i:=0 to filesize(g)-2 do
for j:=i+1 to filesize(g)-1 do
  begin
    seek(g,i);
    read(g,x);
    seek(g,j);
    read(g,y);
    if x>y then
      begin
       sp:=x;
       x:=y;
       y:=sp;
       seek(g,i);
       write(g,x);
       seek(g,j);
       write(g,sp);
      end;
   end;
close(g);
09.06.2009, 09:59   #7
sheka
Босс
Регистрация: 03.06.2009
Сообщений: 751
Репутация: 161 (128)
Лучшие ответы: 4
Файл и метод "пузырька"

lexus_ilia, предоставленая информация является цитатой из источника. изините конечно, но переводить ее желания нет. а может она кому-нибудь пригодится?
09.06.2009, 10:02   #8
Puporev
Модератор
Регистрация: 18.05.2008
Сообщений: 64,996
Репутация: 42025 (30545)
Лучшие ответы: 1,725
Файл и метод "пузырька"

предоставленая информация является цитатой из источника.
Это видимо единственный источник с описанием пузырьковой сортировки.
Русские пока до этого не доперли, а также всякие там англичане и прочие. Будете здесь пропагандировать величие своей научной мысли и мовы, вылетите.
09.06.2009, 10:56   #9
lexus_ilia
Форумчанин
Регистрация: 24.09.2008
Сообщений: 1,527
Репутация: 3012 (683)
Лучшие ответы: 12
Файл и метод "пузырька" / Pascal (Паскаль)

sheka, Вы поймите я ничего не имею против других языков, мой родной язык тоже не русский, но всё-же я придерживаюсь правил форума. И советую внимательно прочитать сообщения уважаемого Puporev'a .
09.06.2009, 10:56
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C++ Метод "пузырька", ввод с клавиатуры
Здравствуйте, требуется прога. Упорядочить элементы методом пузырька по возрастанию, при этом элементы и размер массива вводиться с клавиатуры. Надеюсь на помощь, сижу 3 день( #include "stdafx.h" #include "conio.h" #include "iostream" using namespace std; int main() { int m;
С++ для начинающих heshone 06.11.2013 12:20
MathCAD Не работает сортировка (метод "пузырька")
Сортирую первый ряд массива М методом пузырька, но как-то коряво сортирует( подскажите в чем проблема? и как по этой матрице построить график зависимости СГЛАЖИВАЯ СПЛАЙНАМИ?
MathCAD Shef4u 23.03.2013 21:30
Turbo Pascal Задача на массив, метод "Пузырька".
Заполнить массив из 10 элементов случайными числами в интервале и отсортировать по возрастанию. Нужно решить методом "Пузырька".
Turbo Pascal boris370 10.02.2012 16:05
Turbo Pascal Отсортировать нечетные строки массива по возрастанию(Метод "Пузырька")
Отсортировать нечетные строки массива по возрастанию(Метод "Пузырька")
Turbo Pascal Edson23 16.01.2012 23:32
Pascal В массиве n×n в каждой строке упорядочить элементы по возрастанию, используя метод "пузырька"
В массиве n×n в каждой строке упорядочить элементы по возрастанию, используя метод "пузырька". помогите плиз!!!
Pascal (Паскаль) Nynka 06.12.2009 23:48
Опции темы

Текущее время: 01:13. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.