Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > >
Восстановить пароль Регистрация
 
tentakle
Новичок
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 4
08.06.2009, 23:26     Файл и метод "пузырька"   #1
Произвести сортировку файла целых чисел методом "пузырька".
AdAgent
Объявления
08.06.2009, 23:26     Файл и метод "пузырька"
sheka
Босс
161 / 128 / 4
Регистрация: 03.06.2009
Сообщений: 751
09.06.2009, 00:03     Файл и метод "пузырька"   #2
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.
tentakle
Новичок
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 4
09.06.2009, 00:59  [ТС]     Файл и метод "пузырька"   #3
работы с файлом нэ?
sheka
Босс
161 / 128 / 4
Регистрация: 03.06.2009
Сообщений: 751
09.06.2009, 01:52     Файл и метод "пузырька"   #4
Цитата Сообщение от tentakle Посмотреть сообщение
работы с файлом нэ?
??? не понял.
lexus_ilia
Форумчанин
3023 / 687 / 12
Регистрация: 24.09.2008
Сообщений: 1,530
09.06.2009, 03:59     Файл и метод "пузырька"   #5
sheka, А знаете у нас оффициальный язык на форуме русский, хотелось бы в дальнейшем видеть от Вас сообщения с русским текстом.
AdAgent
Объявления
09.06.2009, 03:59     Файл и метод "пузырька"
Puporev
Модератор
43553 / 31904 / 2290
Регистрация: 19.05.2008
Сообщений: 68,433
09.06.2009, 08:18     Файл и метод "пузырька"   #6
Сортировка в типизированном файле идет почти как в линейном массиве, только вместо прямого присваивания нужно читать элементы(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);
sheka
Босс
161 / 128 / 4
Регистрация: 03.06.2009
Сообщений: 751
09.06.2009, 10:59     Файл и метод "пузырька"   #7
lexus_ilia, предоставленая информация является цитатой из источника. изините конечно, но переводить ее желания нет. а может она кому-нибудь пригодится?
Puporev
Модератор
43553 / 31904 / 2290
Регистрация: 19.05.2008
Сообщений: 68,433
09.06.2009, 11:02     Файл и метод "пузырька"   #8
предоставленая информация является цитатой из источника.
Это видимо единственный источник с описанием пузырьковой сортировки.
Русские пока до этого не доперли, а также всякие там англичане и прочие. Будете здесь пропагандировать величие своей научной мысли и мовы, вылетите.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2009, 11:56     Файл и метод "пузырька"
Еще ссылки по теме:

Pascal Типизированный файл: Создать файл F1, компонентами которого являются "m" одинаковых чисел, а именно "min" элемент из файла F
Pascal ABC Из слова "клоун" путем "вырезок" и "склеек" его букв получить слова "уклон","кулон" и "колун"
Pascal Написать программу проверки правильности написания сочетаний "жи", "ши", "ча", "ща", "чу", "щу". Исправить ошибки
lexus_ilia
Форумчанин
3023 / 687 / 12
Регистрация: 24.09.2008
Сообщений: 1,530
09.06.2009, 11:56     Файл и метод "пузырька"   #9
sheka, Вы поймите я ничего не имею против других языков, мой родной язык тоже не русский, но всё-же я придерживаюсь правил форума. И советую внимательно прочитать сообщения уважаемого Puporev'a .
Yandex
Объявления
09.06.2009, 11:56     Файл и метод "пузырька"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Опции темы

Текущее время: 12:28. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Яндекс.Метрика