Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MMM.doc
Скачиваний:
2
Добавлен:
17.11.2018
Размер:
4.9 Mб
Скачать

13. Реализуйте класс «Бинарное дерево структур» с методами:

  • Конструктор по умолчанию

  • Включить элемент в дерево

  • Поиск элемент в дереве

  • Вывести элементы дерева на печать

  • Деструктор

Структура «Телефонный справочник» с полями:

  • Фамилия

  • Адрес

  • Номер телефона

Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.

14. Создать класс «Геометрическая фигура» с полями X, Y (координаты точки привязки).

Методы:

  • Конструктор по умолчанию

  • Конструктор с параметрами X, Y

  • Метод What - Вывод на экран Наименования класса и всех его полей

Реализовать производные классы:

  • Прямоугольник

  • Квадрат

  • Окружность

В производных классах реализовать методы:

  • Конструктор по умолчанию

  • Конструктор - инициализатор

  • Метод What

  • Вычисление периметра и площади.

Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.

15. Создать класс «Геометрическая линия» с полями X, Y (координаты точки привязки).

Методы:

  • Конструктор по умолчанию

  • Конструктор с параметрами X, Y

  • Метод What - Вывод на экран Наименования класса и всех его полей

Реализовать производные классы:

  • Отрезок

  • Дуга окружности

В производных классах реализовать методы:

  • Конструктор по умолчанию

  • Конструктор - инициализатор

  • Получить структуру – «Точка привязки»

  • Вычисление длины.

Написать демонстрационную программу, в которой будет использоваться массив объектов этих классов. Вывести на экран этот массив.

16. Создать класс «СТРОКА».

Обязательные поля класса:

  • Указатель на char - хранит адрес динамически выделенной памяти для размещения символов строки;

  • Значение int – хранит длину строки в байтах.

Обязательные методы:

  • Конструктор без параметров

  • Конструктор с параметром С-строка (char *)

  • Конструктор копирования

  • Получение длины строки

  • Очистка строки (сделать строку пустой)

  • Деструктор

Реализовать производный класс «Десятичная строка».

Строки данного класса могут содержать только символы `0`, `1`, …, `9`. Если в инициализирующей строке встретятся другие символы, десятичная строка заполняется нулями. Содержимое данных строк рассматривается как десятичное число.

В производном классе реализовать:

Обязательные методы:

  • Конструктор без параметров

  • Конструктор с параметром С-строка (char *)

  • Конструктор копирования

  • Деструктор

Перегрузить следующие операции:

  • Присваивания (=)

  • Сложения (+)

  • Проверка на больше (>)

  • Проверка на меньше (<)

Примечание: Длина строки результата равна длине большей строки, более короткая строка расширяется влево нулями..

Написать демонстрационную программу, в которой будут использоваться базовый и производный классы.

17. Описать класс «Вещественная матрица» на основе одномерного динамического массива.

Обязательные поля класса:

  • Размеры матрицы M, N

  • Адрес динамически выделенной памяти для размещения матрицы;

Обязательные методы:

  • Конструктор без параметров

  • Конструктор с параметрами M,N;

  • Конструктор копирования

  • Вывести матрицу на печать

  • Деструктор

Перегрузить следующие операции:

  • Операция + – сложение матриц

  • Операция * – умножение матриц

  • Операция [] – доступ по индексу

Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.

18. Реализовать класс "Защищенный массив символов". Массив должен быть одномерным и индексироваться целыми числами.

Границы изменения индекса задаются при инициализации и в дальнейшем не изменяются.

Методы:

  • Получить границы массива;

  • прочитать / изменить значение компоненты;

  • вывести массив на экран.

Перегрузить операции:

  • Операция [] – доступ по индексу

При этом должна производиться проверка на нарушение границ, в случае

нарушения выводиться на экран сообщение об ошибке. Обращение к элементам массива должно быть таким же, как и для обычных массивов.

Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.

19. Реализовать класс "Двусвязный список символов". Класс должен

включать в себя методы:

  • стандартные методы списка

  • получение длины списка

  • вставить символ после i-го

  • удалить i-й символ

  • удалить первое вхождение заданного символа

Перегрузить операции:

  • Операция ++ – переход на следующий элемент списка;

  • Операция -- – переход на предыдущий элемент списка;

Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.

20. Создать класс «СТРОКА».

Обязательные поля класса:

  • Указатель на char - хранит адрес динамически выделенной памяти для размещения символов строки;

  • Значение int – хранит длину строки в байтах.

Обязательные методы:

  • Конструктор без параметров

  • Конструктор с параметром С-строка (char *)

  • Конструктор копирования

  • Получение длины строки

  • Очистка строки (сделать строку пустой)

  • Деструктор

Перегрузить операции:

  • Операции сравнения <, >, = =;

  • Операция = присваивания;

  • Операция [] – доступ к символу строки по индексу.

Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.

21. Реализуйте класс «Циклическая очередь на основе одномерного динамического массива» с методами:

  • Конструктор по умолчанию

  • Конструктор с параметром – максимальный размер очереди

  • Стандартные методы очереди (добавить в конец, извлечь с «головы»)

  • Вывести очередь на печать

  • Очистить очередь

  • Деструктор

Примечание: Программа должна демонстрировать работу с классом «Циклическая очередь целых чисел».

22. Реализуйте класс «Стек целых чисел на основе одномерного динамического массива» с методами:

  • Конструктор по умолчанию

  • Конструктор с параметром – максимальный размер стека

  • Стандартные методы стека (PUSH, POP)

  • Вывести стек на печать

  • Очистить стек

  • Деструктор

Примечание: Программа должна демонстрировать работу с классом «Стек целых чисел».

23. Реализуйте класс «Стек строк на основе одномерного динамического массива» с методами:

  • Конструктор по умолчанию

  • Конструктор с параметром – максимальный размер стека

  • Стандартные методы стека (PUSH, POP)

  • Вывести стек на печать

  • Очистить стек

  • Деструктор

Примечание:

Под строкой имеется в виду типы char *str, char str[];

В стек должна «заталкиваться» вся строка, а не ее указатель.

Программа должна демонстрировать работу с классом «Стек строк».

24. Создать класс «КОМПЛЕКСНОЕ ЧИСЛО».

Обязательные поля класса:

  • Действительная часть числа;

  • Мнимая часть числа.

Обязательные методы:

  • Конструктор без параметров

  • Конструктор с параметрами – re, im

Перегрузить операции:

  • Арифметические +, -, *, /

  • Операции сравнения <, >, = =;

Примечание: Программа должна демонстрировать работу с классом «Комплексное число».

25. Реализуйте класс «Односвязный список целых чисел» с методами:

  • Конструктор по умолчанию

  • Добавление элемента в конец списка

  • Реверс списка

  • Сортировка списка

  • Вывести список на печать

  • Деструктор

Примечание: Программа должна демонстрировать работу с классом «Односвязный список целых чисел».

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