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

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

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

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
Новичок
0 / 0 / 0
Регистрация: 08.06.2009
Сообщений: 4
Файл и метод "пузырька"

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

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

sheka, А знаете у нас оффициальный язык на форуме русский, хотелось бы в дальнейшем видеть от Вас сообщения с русским текстом.
09.06.2009, 07:18   #6
Puporev
Модератор
42153 / 30667 / 1777
Регистрация: 18.05.2008
Сообщений: 65,246
Файл и метод "пузырька"

Сортировка в типизированном файле идет почти как в линейном массиве, только вместо прямого присваивания нужно читать элементы(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
Босс
161 / 128 / 4
Регистрация: 03.06.2009
Сообщений: 751
Файл и метод "пузырька"

lexus_ilia, предоставленая информация является цитатой из источника. изините конечно, но переводить ее желания нет. а может она кому-нибудь пригодится?
09.06.2009, 10:02   #8
Puporev
Модератор
42153 / 30667 / 1777
Регистрация: 18.05.2008
Сообщений: 65,246
Файл и метод "пузырька"

предоставленая информация является цитатой из источника.
Это видимо единственный источник с описанием пузырьковой сортировки.
Русские пока до этого не доперли, а также всякие там англичане и прочие. Будете здесь пропагандировать величие своей научной мысли и мовы, вылетите.
09.06.2009, 10:56   #9
lexus_ilia
Форумчанин
3012 / 683 / 12
Регистрация: 24.09.2008
Сообщений: 1,527
Файл и метод "пузырька" / 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 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
Опции темы

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

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