Лабораторная работа №1 ОБЪЯВЛЕНИЕ КЛАССА ПРИ ПОМОЩИ C++ Задание. Согласно заданию программно объявить класс на языке C++, его методы и поля, написать реализацию этих методов. В каждом классе должен быть: - конструктор (задаёт начальные значения полям класса); - деструктор (освобождает память, которая выделялась под массив); - метод, резервирующий память под N элементов (N - аргумент); - метод, задающий значение k-этого элемента массива (k и значение элемента массива - аргументы); - метод, заполняющий массив случайными элементами; - метод, выводящий массив на экран; - метод, описанный в варианте заданий. В функции main() создать объект этого класса, с его помощью продемонстрировать работу всех методов класса. Вызов каждого метода (кроме конструктора и деструктора) организовать с помощью меню. При реализации методов класса предусмотреть обработку ошибочных ситуаций: в массиве нет элемента с номером k, k меньше 0 и т.п. Варианты заданий. 1. Описать класс CArrayDeleteFirstZero для работы с массивами динамической длины. Дополнительный метод: удаление из массива первого найденного нулевого элемента со сдвигом элементов. 2. Описать класс CArraySort для работы с массивами динамической длины. Дополнительный метод: сортировка элементов массива. 3. Описать класс CArrayDelete для работы с массивами динамической длины. Дополнительный метод: удаление элемента с номером N (N - аргумент метода, задаётся пользователем в функции main()). 4. Описать класс CArrayLast для работы с массивами динамической длины. Дополнительный метод: вывод последних N элементов массива (N - аргумент метода, задаётся пользователем в функции main()). 5. Описать класс CArrayDoubleDirected для работы с массивами динамической длины. Дополнительный метод: вывод массива на экран в обратном направлении. 6. Описать класс CArrayRemoveIfOdd для работы с массивами динамической длины. Дополнительный метод: удаление элементов, стоящих на четных местах. 7. Описать класс CArrayRemoveIfOddValue для работы с массивами динамической длины. Дополнительный метод: удаление элементов, четных по значению. 8. Описать класс CArrayRemoveIfNotOdd для работы с массивами динамической длины. Дополнительный метод: удаление элементов, стоящих на нечетных местах. 9. Описать класс CArrayRemoveIfNotOddValue для работы с массивами динамической длины. Дополнительный метод: удаление элементов, нечетных по значению. 10. Описать класс CArrayRemoveEveryN для работы с массивами динамической длины. Дополнительный метод: удаление каждого N-го элемента массива (N - аргумент метода, задаётся пользователем в функции main()). 11. Описать класс CArrayShiftLeft для работы с массивами динамической длины. Дополнительный метод: циклический сдвиг элементов массива влево на N позиций (N - аргумент метода, задаётся пользователем в функции main()). 12. Описать класс CArrayShiftRight для работы с массивами динамической длины. Дополнительный метод: циклический сдвиг элементов массива вправо на N позиций (N - аргумент метода, задаётся пользователем в функции main()). 13. Описать класс CArrayDeleteMaxPositiveItems для работы с массивами динамической длины. Дополнительный метод: удаление из массива максимального положительного элемента со сдвигом элементов. 14. Описать класс CArrayDeleteMaxNegativeItems для работы с массивами динамической длины. Дополнительный метод: удаление из массива максимального отрицательного элемента со сдвигом элементов. 15. Описать класс CArrayDeleteMinPositiveItems для работы с массивами динамической длины. Дополнительный метод: удаление из массива минимального положительного элемента со сдвигом элементов. 16. Описать класс CArrayDeleteMinNegativeItems для работы с массивами динамической длины. Дополнительный метод: удаление из массива минимального отрицательного элемента со сдвигом элементов. 17. Описать класс CArrayDeleteMaxOddItems для работы с массивами динамической длины. Дополнительный метод: удаление из массива максимального чётного элемента со сдвигом элементов. 18. Описать класс CArrayDeleteMaxNotOddItems для работы с массивами динамической длины. Дополнительный метод: удаление из массива максимального нечётного элемента со сдвигом элементов. 19. Описать класс CArrayDeleteMinOddItems для работы с массивами динамической длины. Дополнительный метод: удаление из массива минимального чётного элемента со сдвигом элементов. 20. Описать класс CArrayDeleteMinNotOddItems для работы с массивами динамической длины. Дополнительный метод: удаление из массива минимального нечётного элемента со сдвигом элементов. 21. Описать класс CArrayDeleteFirstOdd для работы с массивами динамической длины. Дополнительный метод: удаление из массива первого найденного чётного элемента со сдвигом элементов. 22. Описать класс CArrayDeleteFirstNotOdd для работы с массивами динамической длины. Дополнительный метод: удаление из массива первого найденного нечётного элемента со сдвигом элементов. 23. Описать класс CArrayDeleteFirstPositive для работы с массивами динамической длины. Дополнительный метод: удаление из массива первого найденного положительного элемента со сдвигом элементов. 24. Описать класс CArrayDeleteFirstNegative для работы с массивами динамической длины. Дополнительный метод: удаление из массива первого найденного отрицательного элемента со сдвигом элементов. 25. Описать класс CArrayDeleteLastOdd для работы с массивами динамической длины. Дополнительный метод: удаление из массива последнего найденного чётного элемента со сдвигом элементов.
1/--страниц