- •Задание 1. Циклические и вычислительные процессы
- •Задание 2. Массивы.
- •Задание 3. Форматированный ввод/вывод в текстовые файлы. Динамические массивы.
- •Задание 4. Работа с файлами (бесформатный ввод/вывод; бинарные файлы).
- •Задание 5. Классы
- •1. Реализуйте класс «Односвязный список целых чисел» с методами:
- •2. Реализуйте класс «Двусвязный список целых чисел» с методами:
- •3. Реализуйте класс «Бинарное дерево символов» с методами:
- •4. Описать абстрактный класс «Функция на отрезке [a,b]»
- •7. Описать класс «множество целых чисел» на основе одномерного
- •13. Реализуйте класс «Бинарное дерево структур» с методами:
7. Описать класс «множество целых чисел» на основе одномерного
динамического массива.
Обязательные поля класса:
Максимальный размер множества
Указатель на int - хранит адрес динамически выделенной памяти для размещения множества;
Число элементов.
Обязательные методы:
Конструктор без параметров
Конструктор с параметром – Макс. размер множества;
Конструктор копирования
Добавить элемент
Удалить элемент
Вывести множество на печать
Деструктор
Перегрузить следующие операции:
Операция (+) - объединение
Операция (*) - пересечение
Операция (-) – разность множеств
Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.
8. Реализовать класс «Матрица целых размера m x n» на основе одномерного динамического массива.
Обязательные поля класса:
Размеры матрицы m, n
Адрес динамически выделенной памяти для размещения матрицы;
Обязательные методы:
Конструктор без параметров
Конструктор с параметрами M,N;
Конструктор копирования
Вывести матрицу на печать
получить размеры матрицы;
получить элемент с заданными координатами;
изменить элемент с заданными координатами;
прибавить заданную матрицу;
умножить на заданную матрицу;
умножить на константу;
Деструктор.
Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.
9. Реализовать класс "Односвязный список символов". Класс должен
включать в себя методы:
стандартные методы списка
получение длины списка
вставить символ после i-го
удалить i-й символ
удалить первое вхождение заданного символа
Перегрузить операции:
Операция ++ – переход на следующий элемент списка;
Операция -- – переход на предыдущий элемент списка;
Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.
10. Создать класс «СТРОКА».
Обязательные поля класса:
Указатель на char - хранит адрес динамически выделенной памяти для размещения символов строки;
Значение int – хранит длину строки в байтах.
Обязательные методы:
Конструктор без параметров
Конструктор с параметром С-строка (char *)
Конструктор копирования
Получение длины строки
Очистка строки (сделать строку пустой)
Деструктор
Перегрузить операции:
Операция + конкатенция 2-х строк;
Операция = присваивания;
Преобразование в целое число (аналогично atoi(char*)).
Написать демонстрационную программу. Меню программы должно обеспечить проверку всех методов и перегруженных операций.
11. Реализуйте класс «Одномерный динамический массив целых чисел» с методами:
Конструктор по умолчанию
Конструктор с параметром – Размер массива
Конструктор копирования
Вывести массив на печать
Деструктор
Длина массива определяется во время инициализации и в дальнейшем не меняется.
Перегрузить
Операция [] – доступ к символу строки по индексу.
На базе этого класса реализовать производный класс «Стек целых чисел» с методами:
Поместить (PUSH) элемент в вершину стека
Извлечь (POP) элемент из вершины стека
Примечание: Программа должна демонстрировать работу с классом «Одномерный динамический массив целых чисел» и с классом «Стек целых чисел».
12. Реализуйте класс «Одномерный динамический массив целых чисел» с методами:
Конструктор по умолчанию
Конструктор с параметром – Размер массива
Вывести массив на печать
Деструктор
Длина массива определяется во время инициализации и в дальнейшем не меняется.
Перегрузить
Операция [] – доступ к символу строки по индексу.
На базе этого класса реализовать производный класс «Циклическая очередь» с методами:
Добавить элемент в конец очереди
Извлечь элемент из начала очереди
Примечание: Программа должна демонстрировать работу с классом «Одномерный динамический массив целых чисел» и с классом «Очередь».