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

Тема 2. Масиви об'єктів. Покажчики на об'єкти

Загальне завдання для варіантів 2.1-2.25. Визначте клас. У кожному класі повинні бути конструктор по-умовчанню, конструктор з параметром (параметрами), деструктор. У конструкторі за замовчуванням дані вводяться із клавіатури. У всіх конструкторах для закритих змінних виділяється динамічна пам'ять, а в деструкторі динамічна пам'ять звільняється. До класі визначте також, що копіює конструктор, і перевантажений оператор присвоювання. Всі необхідні за завданням функції не є членами класу, об'єкти передаються у функції за значенням. У функції main() продемонструйте роботу створеної функції.

2.1. Створіть клас для зберігання закритої змінної - рядка char *s. Визначте функцію, що підраховує скільки разів у даному рядку зустрічається буква ‘x’.

2.2. Створіть клас для зберігання закритої змінної - рядка char *s. Визначте функцію, що повертає рядок, у якій всі крапки рядка у вихідному об'єкті замінені на знак оклику.

2.3. Створіть клас для опису багатокутника. У класі повинні бути визначені наступні елементи: n – кількість кутів, що вказує при створенні об'єкта, і масив довжин сторін багатокутника. У конструкторі класу динамічно виділяється пам'ять під масив довжин сторін і потім із клавіатури вводяться значення в масив. У деструкторі пам'ять звільняється. Визначте функцію, що підраховує площу багатокутника.

2.4. Створіть клас card, що підтримує каталог бібліотечних карток. Цей клас повинен зберігати заголовок книги, ім'я автора й видане на руки число екземплярів книги. Заголовок і ім'я автора зберігайте у вигляді рядка символів, а кількість екземплярів - у вигляді цілого числа.

2.5. Створіть клас для зберігання у вигляді закритої змінної покажчика на масив чисел типу double. Визначте функцію, що обчислює суму елементів масиву або їхній добуток.

2.6. Створіть клас, у якому зберігаються покажчики на масив чисел типу double і масив цілих позитивних чисел. Розміри масивів однакові. Визначте поза класом функцію, що одержує як параметр об'єкт даного класу й виводить на екран елементи масиву по індексах, зазначеним у масиві цілих чисел.

2.7. Створіть клас, у якому зберігається покажчик на масив чисел типу double. Визначте поза класом функцію, що повертає суму всіх цілих частин елементів масиву.

2.8. Створіть клас, у якому зберігається покажчик на масив чисел типу double. Визначте поза класом функцію, що повертає істину, якщо в масиві тільки позитивні числа.

2.9. Створіть клас, що зберігає покажчик на масив цілих Кожний елемент масиву зберігає значення віку (у літах) (у діапазоні 20-69). Визначте функцію, що виводить на екран значення елементів масиву у вигляді рядка, що описує зазначений вік. При цьому забезпечити правильне узгодження числа зі словом «рік», наприклад: 20 - «двадцять років», 32 -«тридцять два роки», 41 - «сорок один рік».

2.10. Створіть клас, що зберігає покажчик на масив цілих. Кожний елемент масиву зберігає ціле число в діапазоні 10-40, що визначає кількість навчальних завдань по деякій темі. Визначте функцію, що виводить на екран значення елементів масиву у вигляді рядка, що описує зазначену кількість завдань, забезпечивши правильне узгодження числа зі словами «навчальне завдання», наприклад: 18 - «вісімнадцять навчальних завдань», 23 - «двадцять три навчальних завдання», 31 - «тридцять одне навчальне завдання».

2.11. Створіть клас, що зберігає покажчик на масив цілих. Кожний елемент масиву зберігає ціле число в діапазоні 100-999. Визначте функцію, що виводить на екран значення елементів масиву у вигляді рядка, що описує дане число, наприклад: 256 - «двісті п'ятдесят шість», 814 - «вісімсот чотирнадцять».

2.12. У східному календарі прийнятий 60-літній цикл, що складається з 12-літніх підциклів, які позначені назвами кольорів: зелений, червоний, жовтий, білий і чорний. У кожному підциклі роки носять назви тварин: пацюка, корови, тигра, зайця, дракона, змії, коня, вівці, мавпи, курки, собаки й свині. Створіть клас, у якому зберігається покажчик на масив позитивних цілих. Кожний елемент масиву – це номер року. Визначте поза класом функцію, що виводить для кожного елемента масиву його назву, якщо 1984 рік – початок циклу: «рік зеленого пацюка».

2.13. Створіть клас, у якому визначте покажчик на масив із трьох цілих. У масиві зберігаються коефіцієнти лінійного рівняння. Визначте функцію поза класом, що як параметри одержує два об'єкти даного класу й обчислює рішення системи двох лінійних рівнянь. Рішення системи лінійних рівнянь виду

A1·x + B1·y = C1,

A2·x + B2·y = C2,

заданої своїми коефіцієнтами A1, B1, C1, A2, B2, C2, можна знайти, скориставшись наступними формулами

x = (C1·B2 – C2·B1)/D, y = (A1·C2 – A2·C1)/D,

де D = A1·B2 – A2·B1.

2.14. Створіть клас, у якому визначте покажчик на двовимірний 3x3 масив чисел типу double. Визначте функцію, що обчислює визначник даної матриці.

2.15. Створіть клас, у якому зберігається покажчик на масив цілих. Визначте функцію, що як параметри одержує два об'єкти даного класу й виводить на екран числа, які є й у першому об'єкті, і в другому об'єкті й кількість таких однакових чисел.

2.16. Створіть клас, у якому зберігається покажчик на масив цілих. Визначте функцію, що виводить на екран ті елементи масиву, які менше свого лівого сусіда, і кількість K таких елементів.

2.17. Створіть клас, що зберігає покажчик на рядок символів. Визначте функцію, що повертає істину, якщо елементи символьного масиву розташовані за абеткою, інакше функція повертає неправду.

2.18. Створіть клас, у якому зберігається покажчик на двовимірний масив цілих чисел. Визначте функцію, що повертає істину, якщо рядки розташовані по убуванню сум чисел у кожному рядку.

2.19. Створіть клас, у якому зберігається покажчик на масив з N чисел типу double (N > 2). Масив називається пилкоподібним, якщо кожний його внутрішній елемент або більше, або менше обох своїх сусідів (тобто є «зубцем»). Визначте функцію, що виводить 0, якщо даний масив є пилкоподібним,; у противному випадку виводить номер першого елемента, що не є зубцем.

2.20. Створіть клас, у якому зберігається покажчик на масив цілих, утримуючий принаймні два нулі. Визначте функцію, що виводить суму чисел з даного масиву, розташованих між останніми двома нулями (якщо останні нулі йдуть підряд, те вивести 0).

2.21. Створіть клас, у якому визначте покажчик на двовимірний Nx2 масив цілих. Визначте функцію, що виводить на екран числа з першого рядка масиву в ступені, що задає другим рядком масиву.

2.22. Створіть клас, у якому визначте покажчик на двовимірний Nx2 масив цілих. Визначте функцію, що повертає N-мірний масив, у якому кожний елемент містить номер першого елемента у відповідному рядку, що дорівнює 2, або число 0, якщо в даному рядку немає двійок.

2.23. Створіть клас, у якому визначте покажчик на двовимірний NxM масив цілих. Визначте функцію, що повертає кількість рядків, елементи яких зростають або убувають.

2.24. Створіть клас, у якому визначте покажчик на двовимірний NxM масив цілих. Визначте функцію, що повертає кількість стовпців, у яких всі елементи позитивні.

2.25. Створіть клас, у якому визначте покажчик на масив цілих. Визначте функцію, що одержує як параметр об'єкт даного класу й повертає об'єкт даного класу, у якому масив містить елементи, упорядковані по зростанню.