Читайте также:
|
|
Функції та класи з шаблонами
Варіант 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,
" << " - запис (виведения) черги у файл або виведення його на екран,
" >> " - зчитування (введення) черги з файлу або з клавіатури.
Написати програму, яка доводить правильність роботи створеного класу.
Дата добавления: 2015-11-26; просмотров: 109 | Нарушение авторских прав