y"> Задано масив AX (N). Додати масив С (К). Виконати сортування включенням. В отриманому масиві позитивні елементи зменшите вдвічі, а негативні замініть на значення їх індексів.
Для тестування програми використовувалися дані, наведені в таблиці 8. Отримані результати наведені там же. br/>
Таблиця 8 - Результати виконання лінійного алгоритму
Вхідні данниеВиходние данные1element2element3element4element5element12533456
Лістинг - Бінарний пошук
Programpr7;
usescrt; {подключеніебібліотекі}
Constn = 5; {постійна}
Var {опис змінних}
i, min: integer;: array [1. n] of integer; {опісаніемассіва} clrscr; {очісткаекрана} i: = 1 To n Do {заполненіемассіва} ('Vvedite', i, 'element:'); (K [i]);: = k [1]; i: = 2 To n Do {поіскмінімального} k [i]
End.
Результат рішення задачі представлений на рисунку 9.
В
Рисунок 9 - Результат роботи програми в TurboPascal
1.9 Сортування включенні
Задано масив AX (N). Додати масив С (К). Виконати сортування включенням. В отриманому масиві позитивні елементи зменшите вдвічі, а негативні замініть на значення їх індексів
Лістинг - Сортування включенням; mas = array [0.100] of integer; i, min, n, m, imn: integer; a, c: mas; Straight_Insertion (n: integer; Var a: mas );, j: integer;: integer; i: = 2 To n Do: = a [i]; a [0]: = x; j: = i-1; x
Результат рішення задачі представлений на малюнку 10.
В
Рисунок 10 - Результат роботи програми в TurboPascal
1.10 Обмінна сортування
Задано масив AX (N). Додати масив С (К). Виконати сортування включенням. В отриманому масиві позитивні елементи зменшите вдвічі, а негативні замініть на значення їх індексів.
Лістинг - Сортування обменнаяmas = array [0.100] of integer; i, min, n, m, imn: integer; a, c: mas; Shaker_Sort (n: word; Var a: mas); j, k, l, r: integer;: integer;: = 2; r: = n; k: = n; j: = r DownTo l Doa [j-1]> a [j] Then: = a [ j-1]; [j-1]: = a [j]; [j]: = x;: = j;;: = k +1; j: = l To r Doa [j-1]> a [j] Then: = a [j-1]; [j-1]: = a [j]; [j]: = x;: = j;;: = k-1; l> r; {Shaker_Sort} ; ('); (n); i: = 1 to n do begin [i]: = random (10) + random (5);; ('); i: = 1 to n do begin (a [i] , '');;; ('); (m); i: = 1 to m do begin [i]: = random (15) + random (5);;; ('); i: = 1 to n do begin (c [i], '');;; i: = 1 to m do begin: = n +1; [n]: = c [i];; ('); i: = 1 to n do (a [i], '');;; _Sort (n, a); ('); i: = 1 to n do (a [i],' ');;;: = a [1]; i : = 1 to n do begina [i]
Результат рішення задачі представлений на малюнку 11.
В
Малюнок 11 - Результат роботи програми в TurboPascal
1.11 Сортування поділом
Задано масив К (N). Додати масив С (В). Виконати сортування поділом. В отриманому масиві знайти індекси елементів, які кратні мінімальному значенню елемента масиву.
Лістинг - Сортування поділом
type mas = array [1.20] of integer...