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

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

Читайте также:
  1. Балантидий. Систематика, морфология, цикл развития, пути заражения. Лабораторная диагностика, профилактика.
  2. Бычий цепень. Систематическое положение, морфология, цикл развития, лабораторная диагностика, профилактика.
  3. Вероятные приключения робота кошки Мурки... 1 страница
  4. Вероятные приключения робота кошки Мурки... 10 страница
  5. Вероятные приключения робота кошки Мурки... 11 страница
  6. Вероятные приключения робота кошки Мурки... 12 страница
  7. Вероятные приключения робота кошки Мурки... 13 страница

Динамічні класові типи

 

Варіант 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 | Нарушение авторских прав



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