![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
1. Задано два масиви цілих чисел ,
і
,
. Розробити програму, яка будує симетричну різницю
і впорядковує її елементи за зростанням. Різниця
це елементи масиву
, що не містяться в масиві
і взяті по одному разу, аналогічно визначається
. Для впорядкування використати метод вибору.
2. Задані цілі і масив
. Розробити програму, яка впорядковує масив
за неспаданням елементів, вилучає з упорядкованого масиву елемент
(якщо такий є) і вставляє елемент
так, щоб
залишився упорядкованим. Пошук елемента у масиві здійснити методом поділу масиву навпіл.
3. Задано масиви цілих чисел ,
і
,
. Розробити програму, яка будує об’єднання
і впорядковує його елементи за зростанням. Об’єднання
– це множина елементів масиву
і
, взятих по одному разу. Для впорядкування використати метод вставки.
4. Таблиця виграшів грошової лотереї задана масивом виграшних номерів і масивом виграшів в гривнях
,
(
- виграш, який випав на
номер). Розробити програму, яка обчислює сумарний виграш, який випав на білети з номерами
,
. (Для пошуку виграшів застосувати алгоритм поділу масиву навпіл).
5. Задано два упорядкованих за неспаданням елементів масиви цілих чисел ,
і
,
. Розробити програму, яка зливає ці масиви в один упорядкований за незростанням масив
.
6. Задано масиви цілих: упорядкований за незростанням чисел , неупорядкований –
,
,
. Розробити програму, яка елементи масиву
вставляє в масив
так, щоб
залишився впорядкованим. Для впорядкування використати метод вставки.
7. Задано два масиви цілих чисел ,
і
,
. Розробити програму, яка будує впорядкований за неспаданням елементів масив
з тих елементів масиву
, які не є елементами масиву
. Для впорядкування використати метод обміну.
8. Задано два масиви дійсних чисел ,
і
,
. Розробити програму, яка будує впорядковану за зростанням множину елементів
, де
– елементи перерізу
. (Переріз
– це множина елементів
, які містяться в
і взяті по одному разу). Для впорядкування використати метод вибору.
9. Задано два масиви дійсних чисел і
,
,
. Розробити програму, яка будує впорядковану за зростанням множину елементів
, де
– елементи об’єднання
. (Об’єднання
– це множина елементів
і
, взятих по одному разу). Для впорядкування використати метод вставки.
10. Задано масив цілих чисел ,
. Розробити програму, яка знаходить в цьому масиві найдовший ланцюжок чисел, упорядкованих за зростанням.
11. Задано масив цілих чисел ,
. Розробити програму, яка перетворює цей масив так, щоб у кожній десятці спочатку розміщувалися від’ємні числа, а потім невід’ємні, які є в цій десятці, із збереженням порядку їх наступності.
12. Задано масив цілих чисел ,
. Розробити програму, яка перетворює цей масив так, щоб у кожній двадцятці спочатку розміщувалися числа, які діляться на 3, потім числа, які діляться на 3 з остачею 1 і наостанку числа, які діляться на 3 з остачею 2.
13. Задано масив цілих чисел ,
. Розробити програму, яка створює масив
, елементами якого є всі непарні числа із масиву
, упорядковані за незростанням. Для впорядкування використати метод обміну.
14. Задано масив цілих чисел ,
. Розробити програму, яка створює масив
, елементами якого є числа із масиву
, впорядковані за спаданням, тобто всі повторення чисел вилучені. Для впорядкування використати метод вставки.
15. Задано впорядковані за неспаданням дійсні числа ,
і невпорядковані
,
. Розробити програму, яка визначає цілі числа
, де
– номери тих
, після яких можна вставити
не порушуючи впорядкованості одержуваного масиву.
Тема 6. Алгоритми обробки багатовимірних масивів
До традиційних багатовимірних масивів належать таблиці і матриці.
Описати багатовимірний масив у програмі, як і одновимірний, можна за допомогою ідентифікатора типу, визначеного в розділі Type, або безпосередньо у розділі Var.
Наприклад,
Type Tvec= array[1..20] of integer;
Tmatr= array[1..10,1..10] of integer;
Var a, b: array[1..10,1..30] of real;
c: Tmatr;
d: array[1..5] of Tvec;
c, d: Tm;
x: array[1..10, 1..10] of integer;
тут матриці a, b описані безпосередньо у розділі Var і мають по 10 рядків і 30 стовпчиків. Матриця c описана за допомогою ідентифікатора типу Tmatr і має 10 рядків і 10 стовпчиків. Матриця d описана специфічно за допомогою ідентифікатора типу Tvec і має 5 рядків по 10 елементів у кожному.
Для звернення до елемента матриці використовується ім’я та два індекси у квадратних дужках наприклад, a[3,4] або a[3][4]. Ці форми ідентичні, але частіше використовується a[3,4].
Форма опису матриці d дозволяє звернення з одним індексом d[4], тобто це звернення до всіх елементів 4 рядка. Така форма опису є зручною при маніпулюванні рядками (перестановка рядків, вилучення рядків та інше), також при зверненні до підпрограм.
Для введення та виведення елементів таблиць і матриць зручно використовувати компонент StringGrid з такими основним функціями:
· Cels(ACol,ARow:integer):string – вміст комірки з координатами ACol, ARow;
· Cols(Index:integer): Tstrings – вміст колонки Index;
· Rows(Index:integer): Tstrings – вміст рядка Index;
та властивостями:
· Name: string – ім’я компонента;
· Col: longint – номер поточного стовпця;
· Row: longint – номер поточного рядка;
· ColCount: longint – кількість стовпців;
· RowCount: longint – кількість рядків;
· FixedCols: longint – кількість стовпців фіксованої зони;
· FixedRows: longint – кількість рядків фіксованої зони;
· DefaultColWidth – ширина колонки;
· DefaultRowHeight – висота рядка;
· ScrollBars – лінії прокрутки;
· Font – тип і розміри шрифту;
· Options.goEditing: Boolean – дозвіл на редагування;
· Options.goTabs: Boolean – переміщення курсору клавішею Tab.
Ці властивості можна встановлювати як в Інспекторі об’єктів так і програмно.
До обчислювальних алгоритмів обробки багатовимірних масивів належать: алгоритми пошуку максимальних і мінімальних елементів та індексів їх розміщення у масиві; обчислення сум і добутків рядків і стовпчиків матриць; перестановки місцями рядків і стовпчиків матриць; вилучення рядків і стовпчиків матриць; обчислення суми, різниці та добутку матриць; транспонування матриць та інші.
Дата публикования: 2014-11-03; Прочитано: 439 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!