Читайте также:
|
|
Динамічні класові типи
Варіант 1
Створити клас для роботи з одновимірними динамічними масивами значень типу unsigned int. Передбачити функції класу для виконання таких операцій:
- динамічного присвоєння;
- поелементного складання та віднімання;
- об’єднання двох масивів у один (конкатенація);
- упорядкування масиву по збільшенню та по зменшенню;
- консольне введення та виведення масиву.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 2
Створити динамічний клас для роботи з рядками символів. Максимальна довжина послідовності - 65535. Передбачити функції для виконання таких операцій:
- ініціалізація з ASCIZ-рядка (тобто з рядка, що завершується нуль-байтом);
- введення з клавіатури і з файлу;
- виведення на екран та у файл;
- повернення кількості символів;
- конкатенація рядків.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 3
Створити динамічний класовий тип для роботи з рядками однобайтових символів у форматі ASCIIZ (тобто символом завершення рядка є нуль-байт). Передбачити операції створення, знищення, ініціалізації об’єкту, а також операції динамічного присвоєння та конкатенації. Операції створення, знищення та ініціалізації реалізувати за допомогою конструкторів та деструкторів, решту операцій - за допомогою компонентних функцій.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 4
Створити клас для роботи з множинами цілих чисел використовуючи як базову структуру динамічний одновимірний масив. Максимальна кількість елементів множини - 65535, інтервал значень елементів множини [0, 65535]. Передбачити функції для виконання таких операцій:
- ініціалізація за допомогою зовнішнього масиву відповідного типу;
- введення з клавіатури і з файлу;
- виведення на екран та у файл;
- об’єднання множин;
- переріз множин;
- перевірка еквівалентності.
Написати програму, яка доводить правильність роботи створеного класу.
Вказівка
Множина є набір елементів, кожен з яких має унікальне значення.
Варіант 5
Створити класи List та Element для роботи із структурою типу "однозв’язний список". Клас List повинен відповідати списку у цілому, а клас Element - елементу списка. Інформаційний компонент елементу списка - рядок символів (можна застосувати бібліотечний тип string). У зазначених класах передбачити функції для виконання таких операцій:
List:: pushbeg - створити новий елемент списку у його початку;
List:: pushend - створити новий елемент списку у його кінці;
List:: popbeg - добути і вилучити перший елемент списку;
List:: popend - добути і вилучити останній елемент списку;
Element:: print - вивести на екран значення наданого елементу списка;
List:: print - вивести на екран значення всіх елементів списка.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 6
Створити клас Astack - стек, що базується на масиві фіксованого розміру. Передбачити, щоб стек мав можливість вміщувати значення типу string (рядок символів).
Передбачити функції для виконання таких операцій:
push - занести у стек нове значення;
get - добути значення із вершини стека;
pop - добути і вилучити значення із вершини стека;
print - вивести усі значення стека на екран;
num - повернути кількість значень, що знаходяться у стеку.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 7
Створити клас Aqueue - структура типу черга, що базується на масиві фіксованого розміру. Передбачити, щоб черга мала можливість вміщувати значення типу string (рядок символів).
Передбачити функції - члени класу для виконання таких операцій:
push - занести у чергу надане значення;
pop - добути і вилучити значення із черги;
print - вивести усі значення із черги на екран;
num - повернути кількість значень, що знаходяться у черзі.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 8
Створити клас Bitv для роботи з бітовими векторами довільної довжини. Бітовий вектор - послідовність значень, які можуть мати значення 0 (не істина) або 1 (істина). Кожен елемент бітового вектору повинен займати у пам’яті один біт. Для розміщення бітового вектора у пам’яті застосувати динамічний масив відповідного розміру. Тип елемента масиву - носія бітового вектора - беззнаковий, розміром 1, 2 або 4 байти.
У класі Bitv передбачити такі функції:
Bitv() - конструктор без параметрів, створює бітовий вектор нульової довжини;
Bitv(char*) - конструктор для ініціалізації за допомогою значення, наданого текстовим рядком;
Bitv(Bitv&) - конструктор копіювання;
~Bitv() - деструктор;
Bitv operator~() - операція побітової інверсії;
Bitv operator&(Bitv&) - побітова операція "І" (кон’юнкція);
Bitv operator|(Bitv&) - побітова операція "АБО" (диз’юнкція);
Bitv& operator=(Bitv&) - операція присвоєння;
size() - розмір бітового вектора у пам’яті (кількість слів).
Написати програму, яка доводить правильність роботи створеного класу.
Дата добавления: 2015-11-26; просмотров: 87 | Нарушение авторских прав