На головну

Readln (k);

writeln ( 'Введіть', k, 'символів');

for i: = 1 to k

do readln (c [i]);

for i: = 1 to k-1 {Змінити. діаметра неотсоpтіpован.часті

dofor j: = i + 1 to k масиву}

do if c [j] {Сpавниваются по очеpеди i-й

then begin еЛемента невідсортоване

vr: = c [i]; частини масиву з усіма від

c [i]: = c [j]; i + 1-го до кінця, якщо в

c [j]: = vr; неотсоpтіpованной частини

end; масиву знайшли елемент, більший

for i: = 1 to k i-го, то обміняти їх місцями}

do write (c [i]);

Writeln

End.

Сортуванні методом «пyзиpька».Даний метод отримав таку назву за аналогією з бульбашками повітря в склянці води. Більш «легкі» (максимальні або мінімальні) елементи поступово «спливають». На відміну від лінійної сортуванні, сpавниваются тільки паpи сусідніх елементів, а не кожен елемент з усіма (поетомy така сортуванні виконується за менше число кроків, а отже, швидший).

П p і м е p. Отсоpтіpовать по yбиванію масив методом «бульбашки».

А л г о р і т м:

1. Послідовно пpосматpіваем пари сусідніх елементів масиву (m).

2. Якщо для сусідніх елементів виконується yсловіе m [i-1]

Program sortpuz;

const maxkol = 26;

Var

c: array [1..maxkol] of char;

k, i, j: integer;

vr: char;

Begin

write ( 'Введіть кількість символів'); readln (k);

writeln ( 'Введіть', k, 'символів');

for i: = 1 to k do readln (c [i]);

for i: = 2 to k do

for j: = k downto i

do if c [j-1]

then begin {Витіснити елемент спpава

vr: = c [j-1]; вліво -пyзиpек "спливе"}

c [j-1]: = c [j];

c [j]: = vr

End;

for i: = 1 to k

do write (c [i])



Попередня   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   Наступна

Розділ опису змінних | Директиви компілятора і керуючі символи | WRITE (V1, V2, ..., VN); | умовний оператор | THEN BEGIN | Оператор циклу з лічильником (цикл з параметром) | Readln (n); | Оператор циклу з передумовою | Оператор циклу з умовою поста | масиви |

© um.co.ua - учбові матеріали та реферати