Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП Лаборатор_2011.doc
Скачиваний:
7
Добавлен:
07.02.2016
Размер:
279.04 Кб
Скачать

Лабораторна робота 6 Функції та класи з шаблонами

Варіант 1

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

Варіант 2

Написати функцію, яка створює копію іншого двовимірного динамічного масиву довільного типу з наданим ім’ям..

Варіант 3

Створити функцію, яка знаходить найбільший і найменший елементи одновимірного масиву довільного типу.

Варіант 4

Створити функцію, яка створює одновимірний динамічний масив таким чином, що він є конкатенацією (тобто отриманий з’єднанням) двох заданих масивів одного і того ж типу. Застосувати шаблони таким чином, щоб конкатенацію можна було виконувати з масивами довільного типу.

Варіант 5

Створити динамічний клас з шаблонами для роботи з однови-мірними масивами. Передбачити можливість застосування створеного класу для випадків, коли елементи масиву мають будь-який числовий тип. Здійснити перевантаження операцій:

" = " - динамічне присвоєння,

" << " - запис (введения) масиву у файл,

" >> " - зчитування (виведення) масиву з файлу,

"[ ] " - доступ до елементу по індексу з контролем.

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 6

Створити динамічний клас з шаблонами для роботи з послідов-

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

" = " - динамічне присвоєння,

" + " - конкатенація (з’єднання) рядків,

" <= " - відношення "менше чи дорівнює",

" >= " - відношення "більше чи дорівнює",

" == " - відношення "дорівнює".

За відношення порядку ("менше чи дорівнює", "більше чи дорівнює") вважати відношення лексикографічного порядку. Крім того, перевантажити операції введення значення вказаного класу із файлу і виведення у файл з символами " >> ", " << ".

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 7

Створити клас для роботи з множинами. Тип елемента множини - довільний, застосувати шаблони. Здійснити перевантаження символів операцій:

" = " - присвоєння,

" + " - об’єднання множин,

" - " - віднімання множин,

" * " - переріз множин,

" == " - еквівалентність множин,

" << " - запис (виведения) множини у файл,

" >> " - зчитування (введення) множини з файлу.

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 8

Створити клас List для роботи із структурою типу "однозв’язний список". Тип елемента списку - довільний, застосувати шаблони. Передбачити функції для виконання таких операцій:

pushbeg - створити новий елемент списку у його початку;

popbeg - добути і вилучити перший елемент списку;

pushend - створити новий елемент списку у його кінці;

popend - добути і вилучити останній елемент списк.

Здійснити перевантаження символів операцій:

" = " - присвоєння,

" << " - запис (виведения) множини у файл або виведення на екран,

" >> " - зчитування (введення) множини з файлу або з клавіа-тури,

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 9

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

push - занести у стек значення типу Тype;

pop - добути і вилучити значення із вершини стека;

num - повернути кількість значень, що знаходяться у стеку.

Здійснити перевантаження символів операцій:

" = " - присвоєння значень типу Astack,

" << " - запис (виведения) стека у файл або виведення його на екран,

" >> " - зчитування (введення) стека з файлу або з клавіатури.

Написати програму, яка доводить правильність роботи створеного класу.

Варіант 10

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

add - занести у чергу надане значення;

pop - добути і вилучити значення із черги;

num - повернути кількість значень, що знаходяться у черзі.

Здійснити перевантаження символів операцій:

" = " - присвоєння значень типу Aqueue,

" << " - запис (виведения) черги у файл або виведення його на екран,

" >> " - зчитування (введення) черги з файлу або з клавіатури.

Написати програму, яка доводить правильність роботи створеного класу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]