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

Ответ Создать новую тему
 
tentakle
Новичок
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 4
08.06.2009, 22:26     Файл и метод "пузырька"
  #1
Произвести сортировку файла целых чисел методом "пузырька".
AdAgent
Объявления
08.06.2009, 22:26
sheka
Босс
161 / 128 / 4
Регистрация: 03.06.2009
Сообщений: 751
08.06.2009, 23: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
08.06.2009, 23:59  [ТС]
  #3
работы с файлом нэ?
sheka
Босс
161 / 128 / 4
Регистрация: 03.06.2009
Сообщений: 751
09.06.2009, 00:52
  #4
Цитата Сообщение от tentakle Посмотреть сообщение
работы с файлом нэ?
??? не понял.
lexus_ilia
Форумчанин
3014 / 685 / 12
Регистрация: 24.09.2008
Сообщений: 1,529
09.06.2009, 02:59
  #5
sheka, А знаете у нас оффициальный язык на форуме русский, хотелось бы в дальнейшем видеть от Вас сообщения с русским текстом.
Puporev
Модератор
42223 / 30737 / 1800
Регистрация: 18.05.2008
Сообщений: 65,429
09.06.2009, 07: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, 09:59
  #7
lexus_ilia, предоставленая информация является цитатой из источника. изините конечно, но переводить ее желания нет. а может она кому-нибудь пригодится?
Puporev
Модератор
42223 / 30737 / 1800
Регистрация: 18.05.2008
Сообщений: 65,429
09.06.2009, 10:02
  #8
предоставленая информация является цитатой из источника.
Это видимо единственный источник с описанием пузырьковой сортировки.
Русские пока до этого не доперли, а также всякие там англичане и прочие. Будете здесь пропагандировать величие своей научной мысли и мовы, вылетите.
lexus_ilia
Форумчанин
3014 / 685 / 12
Регистрация: 24.09.2008
Сообщений: 1,529
09.06.2009, 10:56     Файл и метод "пузырька"
  #9
sheka, Вы поймите я ничего не имею против других языков, мой родной язык тоже не русский, но всё-же я придерживаюсь правил форума. И советую внимательно прочитать сообщения уважаемого Puporev'a .
Yandex
Объявления
09.06.2009, 10:56
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C++ Метод "пузырька", ввод с клавиатуры
Здравствуйте, требуется прога. Упорядочить элементы методом пузырька по возрастанию, при этом элементы и размер массива вводиться с клавиатуры. Надеюсь на помощь, сижу 3 день( #include "stdafx.h"...
С++ для начинающих 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 ABC Даны текстовый файл "F" и строка "S". Получить все строки файла "F", содержащие в качестве фрагмента строку "S".
Плиз помогите написать прогу: Даны текстовый файл "F" и строка "S". Получить все строки файла "F", содержащие в качестве фрагмента строку "S". Thanks verry much!!!
Pascal ABC M@steR 26.12.2011 18:30
Turbo Pascal Метод "пузырька"
Десяти студентам 5-го курса была предложена анкета о том, знание каких из прочитанных курсов могут потребоваться в будущей работе. Список прочитанных курсов: математический анализ, алгебра,...
Turbo Pascal Юрий Бадюн 17.03.2011 13:48
Delphi метод "пузырька" по возрастанию
здравствуйте помогите пожалуйста есть 3 массива: Type mass1=array of string; mass2=array of real; mass3=array of real; var
Delphi для начинающих mir3x 20.04.2010 21:32
Pascal В массиве n×n в каждой строке упорядочить элементы по возрастанию, используя метод "пузырька"
В массиве n×n в каждой строке упорядочить элементы по возрастанию, используя метод "пузырька". помогите плиз!!!
Pascal (Паскаль) Nynka 06.12.2009 23:48
Опции темы

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

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