Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга_мат_3_new1.doc
Скачиваний:
24
Добавлен:
17.02.2016
Размер:
1.19 Mб
Скачать

Сортування обміном

Принцип цього методу полягає в наступному:зліва направо почергово порівнюють два сусідніх елементи, і якщо їх взаємне розташування не відповідає заданій умові впорядкування, то вони міняються місцями. Потім беруться два наступних сусідніх елемента і так далі до кінця масиву.

Після одного такого проходу на останнійn - ій позиції масиву буде стояти максимальний елемент ( ”виплила” одна “бульбашка” ).

Оскільки максимальний елемент уже стоїть на своїй останній позиції, то другий прохід обмінів виконується до (n – 1) – го елемента. І так далі. Всього необхідно зробити (n – 1) прохід.

Програма, що реалізує метод “бульбашок”, буде мати наступний вигляд:

Program BubbleSort;

Constn=20; { довжина масиву }

Type Tvector = array [1. . n] of real;

VarVector : Tvector;

b: real;

i,k: integer;

Begin

Writeln(‘ введіть елементи масиву:’);

for i:=1 to n do

Read( Vector[i] );

Readln;

{ - - - - - - - - - - - - }

for k := n downto 2 do

begin

{“випливання” чергового максимального елемента}

{нак- упозицію}

for i := 1 to k - 1 do

if Vector[i]>Vector[i+1] then

begin

b:=Vector[i];

Vector[ i] := Vector [i+1];

Vector [i+1] := b;

end;

{ - - - - - - - - - - }

writeln (‘відсортований масив:’);

for i :=1 to n do

write ( Vector [i]:8:2 );

writeln;

End.

Завдання

  1. Перетворити масив Х за наступним правилом : всі від’ємні елементи масиву Х перенести на початок, а всі інші - в кінець. Всі від’ємні елементи відсортувати за неспаданням.

  2. Дано дійсні числа а1 , а2 , . . . , аn. Серед цих чисел усі від’ємні числа збільшити на 0,25 , а всі невід’ємні замінити на 0,2. Потім невід’ємні числа відсортувати по незростанню.

  3. Дано два масиви чисел А та В по 12 елементів в кожному. Впорядкувати масив Z по спаданню елементів, при умові, що елементи масиву Z утворюються по формулі zi = ai - bisini.

  4. Обчислити компоненти вектора Z ={ z1 , z2 , . . . , z10} i впорядкувати їх за зростанням, якщо zk =xk + myk , де xk, yk - компоненти заданих векторів Х та Y, а m визначається умовою:

  5. Дано двовимірний масив, який містить 5 рядків і 3 стовпчика. Елементами масиву є цілі числа. Впорядкувати масив по неспаданню елементів першого стовпця.

  6. Дано двовимірний масив , який містить 4 рядки і 4 стовпчика. Елементами масиву є дійсні числа. Впорядкувати масив по незростанню елементів другого стовпчика.

  7. Дано двовимірний масив , який містить 3 рядка і 2 стовпчика. Елементами масиву є цілі числа. Впорядкувати масив по незростанню елементів третього рядка.

  8. Дано двовимірний масив, який містить 5 рядків і 3 стовпчика. Елементами масиву є дійсні числа. Впорядкувати масив по неспаданню елементів першого рядка.

  9. Дано цілі x1, . . . , xn. отримати в порядку зростання всі різні числа, що входять в x1, . . . , xn. в процесі сортування необхідно відкинути елементи , що вже зустрічалися раніше. Якщо в результаті пошуку місця хі у впорядкованій послідовності x1, . . . , xк (к<i) виявиться , що серед x1, . . . , xк є елемент , рівний хі , то слід перейти до розгляду хі+1 без зміни x1, . . . , xк.

  10. Дано дійсні с1, . . . , сn , d1, . . . , dk(, ) . Внести єдину впорядкованість в с1, . . . , сn , d1, . . . , dk, отримавши f1, f2, . . . , fn+kтакі , що .

  11. Дано цілі x1, . . . , xn. Знайти найбільше значення, що міститься в послідовності чисел x1, . . . , xnпісля вилучення з неї всіх членів зі значенням max(x1, . . . , xn).

  12. Дано дійсна матриця (хij) розміру ;впорядкувати рядки матриці за неспаданням сум елементів рядків.

  13. Дано дійсна матриця (хij) розміру ;впорядкувати рядки матриці за неспаданням найменших елементів рядків.

  14. Дано дійсна матриця (хij) розміру ;впорядкувати стовпці матриці за зростанням найбільших елементів стовпців.

  15. За допомогою дійсної матриці заданоN точок так, що Х1J, X2J - координати j – ої точки. Розташувати координати точок в матриці за зростанням довжин радіус - векторів заданих точок.