Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Лабораторна робота 3

ЗМІСТ ТА ОФОРМЛЕННЯ ЛАБОРАТОРНОЇ РОБОТИ | Лабораторна робота 1 | Лабораторна робота 5 | Лабораторна робота 6 | Запис текстів програм. Стиль ЗНТУ-2003 | Define M_PI pi |


Читайте также:
  1. II. Контрольна робота.
  2. IV. Лабораторная диагностика псевдотуберкулеза и кишечного иерсиниоза у людей
  3. IV. Робота над навчальною темою
  4. Безпека при вантажно-розвантажувальних роботах
  5. Блок 1: Робота з «передумовами» в процесі оцінки
  6. Виробнича робота
  7. Внутрішня енергія. Робота і теплота, як міри зміни внутрішньої енергії системи. Перший закон термодинаміки.

Тема: динамічні класові типи

 

Варіант 1

Створити клас для роботи з одновимірними динамічними масивами значень типу unsigned int. Передбачити функції - компоненти класу для виконання таких операцій:

- динамічного присвоєння;
- поелементного складання та віднімання;
- об’єднання двох масивів у один (конкатенація);
- упорядкування масиву по збільшенню та по зменшенню;

- консольне введення та виведення масиву.

 

Варіант 2

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

- ініціалізація з ASCIZ-рядка (тобто з рядка, що завершується нуль-байтом);

- введення з клавіатури і з файлу;

- виведення на екран та у файл;

- повернення кількості символів;

- конкатенація рядків.

 

 

Варіант 3

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

Варіант 4

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

- ініціалізація за допомогою масиву цілого типу;

- введення з клавіатури і з файлу;

- виведення на екран та у файл;

- об’єднання множин;

- переріз множин.

 

Варіант 5

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

- перевірка відношення включення;

- перевірка еквівалентності;

- перевірка належності даного числа до множини.

 

Варіант 6

Створити класи List та Element для роботи із структурою типу "однозв’язний список". Клас List повинен відповідати списку у цілому, а клас Element - елементу списка. Інформаційний компонент елементу списка - рядок символів (можна застосувати бібліотечний тип string). У зазначених класах передбачити функції для виконання таких операцій:

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

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

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

List:: getoutend - добути і вилучити останній елемент списку;

Element:: print - вивести на екран рядок - інформаційний
компонент елементу списка;

List:: print - вивести на екран інформаційні компоненти
всіх елементів списка.

 

Варіант 7

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

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

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

print - вивести усі значення стека на екран;

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

 

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

класу string.
Передбачити функції - члени класу для виконання таких операцій:

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

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

print - вивести усі значення із черги на екран;

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

isempty - повернути значення true (тип bool), якщо черга пуста.

 

Варіант 9

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

push - занести у стек надане значення;

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

print - вивести усі значення стека на екран;

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

isempty - повернути значення true (тип bool), якщо черга пуста.

Вказівки.

Передбачити обробку виключної ситуації: добування значення із порожнього стека.

 

Варіант 10

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

add - занести у кінець черги значення типу Тype;

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

print - вивести усі значення, що знаходяться у черзі, на екран;

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

isempty - повернути значення true (тип bool), якщо черга пуста.

Вказівки.

Передбачити обробку виключної ситуації: добування значення із порожньої черги.

 

Варіант 11

Створити клас Set для роботи із структурами типу "Множина". Тип елементу структури обрати самостійно.

Множина є набір елементів, кожен з яких має унікальне значення. При додаванні елементу (операція include), який вже є у множині, він не додається. Для цієї структури визначаються операції, звичайні для математичних множин - об’єднання, переріз, віднімання, доповнення. Елементи множини можуть автоматично упорядковуватися, це дає змогу використовувати швидкі операції пошуку елемента із наданим значенням.

Передбачити функції - члени класу для виконання таких операцій:

include - додати новий елемент у множину;

exclude - вилучити наданий елемент із множини;

union - об’єднання множин;

inters - переріз множин;

substr - віднімання множин;

print - вивести усі значення із множини на екран;

num - кількість значень множини (потужність).

 

Варіант 12

Створити клас Bitv для роботи з бітовими векторами довільної довжини. Бітовий вектор - послідовність значень, які можуть мати значення 0 (не істина) або 1 (істина). Кожен елемент бітового вектору повинен займати у пам’яті один біт. Для розміщення бітового вектора у пам’яті застосувати динамічний масив відповідного розміру. Тип елемента масиву - носія бітового вектора - беззнаковий, розміром 2 байти.

У класі Bitv передбачити такі функції:

Bitv operator~() - операція побітової інверсії;

Bitv operator&(Bitv&) - побітова операція "І" (кон’юнкція);

Bitv operator|(Bitv&) - побітова операція "АБО" (диз’юнкція);

Bitv& operator=(Bitv&) - операція присвоєння;

void setin0(int) - встановлення біта з наданим номером у 0;

void setin1(int) - встановлення біта у 1;

void print() - виведення бітового вектора на екран.

Передбачити конструктор ініціалізації, конструктор копіювання, деструктор.

 

 


Дата добавления: 2015-11-14; просмотров: 55 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Лабораторна робота 2| Лабораторна робота 4

mybiblioteka.su - 2015-2024 год. (0.01 сек.)