![](/user_photo/2706_HbeT2.jpg)
- •Задание 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. Реализуйте класс «Одномерный динамический массив целых чисел» с методами:
-
Конструктор по умолчанию
-
Конструктор с параметром – Размер массива
-
Вывести массив на печать
-
Деструктор
Длина массива определяется во время инициализации и в дальнейшем не меняется.
Перегрузить
-
Операция [] – доступ к символу строки по индексу.
На базе этого класса реализовать производный класс «Циклическая очередь» с методами:
-
Добавить элемент в конец очереди
-
Извлечь элемент из начала очереди
Примечание: Программа должна демонстрировать работу с классом «Одномерный динамический массив целых чисел» и с классом «Очередь».