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

Int tos; // індекс вершини стека

public:

stack();

Void push(char ch); // приміщення символу в стек

char pop(); // виштовхування символу зі стека

};

5.21. Напишіть програму із класом watch, який би відігравав роль звичайних годин. Використовуючи стандартні функції часу, створіть конструктор класу, що повинен зчитувати й запам'ятовувати системний час. Для виводу цього часу на екран створіть користувальницьку функцію виводу.

5.22. Створіть маніпулятор для уведення, що повинен зчитувати й відкидати всі неалфавітні символи. При зчитуванні першого алфавітного символу, маніпулятор повинен повернути його у вхідний потік і закінчити роботу. Назвіть маніпулятор findalpha.

5.23. Створіть маніпулятор для виводу трьох символів табуляції й установки ширини поля рівної 20. Продемонструйте роботу маніпулятора.

5.24. Даний наступний клас. Створіть для нього користувальницькі функції уведення й виводу.

class date {

char date [9]; // дата зберігається у вигляді рядка: mm/dd/yy

public:

// додайте користувальницькі функції уведення й виводу

};

5.25.Створіть для наступного класу користувальницькі функції уведення й виводу:

class pwr {

int base;

int exponent;

double result; // результат зведення в ступінь

public:

pwr (int b, int e)

};

Тема 6. Підвищений рівень складності

Загальне завдання для варіантів 6.1-6.25. Написати програму, у якій визначається клас, що реалізує роботу зі списком цілих. У класі повинні бути визначені методи:

а) для додавання в початок списку нового елемента;

б) для видалення елемента зі списку;

в) для включення нового елемента в список;

г) пошуку в списку елемента із заданим значенням;

д) виводу на консоль всіх елементів списку;

е) конструктор, конструктор за замовчуванням, що копіює конструктор, деструктор.

6.1. Перевантажте оператор додавання за допомогою функції-члена класу список таким чином, що при a+b у результуючий список спочатку додавалися елементи списку а, а потім елементи списку b.

6.2. Перевантажте оператор додавання за допомогою функції дружньої класу список таким чином, що при a+b у результуючий список спочатку додавалися елементи списку а, а потім елементи списку b.

6.3. Перевантажте оператор множення за допомогою функції-члена класу список таким чином, що при множенні списку на ціле число всі елементи списку множилися на відповідне ціле число.

6.4. Перевантажте оператор множення за допомогою дружньої функції класу список таким чином, що при множенні списку на ціле число всі елементи списку множилися на відповідне ціле число.

6.5. Перевантажте для списку оператори ++ і – – за допомогою функції-члена класу (передбачити різницюміж постфіксною і префіксною формами).

6.6. Перевантажте для списку оператори ++ і – – за допомогою дружньої функції (передбачити різницюміж постфіксною і префіксною формами).

6.6. Перевантажте в класі список унарный оператор «–» за допомогою функції-члена класу.

6.7. Перевантажте унарний оператор «–» за допомогою дружньої функції класу список.

6.8. Створіть функцію-член класу список для наступної перестановки елементів списку:

x(1), x(2),...,x(n)=>x(n), x(1), x(2),...,x(n-1)

Елементи пронумеровані в порядку їхнього проходження в списку.

6.9. Створіть функцію-член класу список для наступної перестановки елементів списку:

x(1), x(2),...,x(n)=>x(2), x(3),...,x(n), x(1)

Елементи пронумеровані в порядку їхнього проходження в списку.

6.10. Створіть поза класом функцію для видалення зі списку всіх негативних елементів. Функція як параметр одержує посилання на об'єкт класу список.

6.11. Створіть поза класом функцію для заміни в списку всіх входжень а1 на а2. Функція як параметри одержує посилання на об'єкт класу список, замінне значення a1, значення-замінник a2.

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

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

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

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

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

6.17. Створіть поза класом функцію, що одержує як параметри об'єкт класу список a, посилання на порожні об'єкти списків b і c. Функція будує за списком a два нових списки b з позитивних елементів і c з інших елементів списку.

6.18. Створіть у класі список функцію, що переносить у кінець непустого списку його перший елемент.

6.19. Створіть поза класом список функцію, що одержує як параметри посилання на список c1 і об'єкт класу список c2. Дана функція додає в кінець списку с1 всі елементи списку с2.

6.20. Визначте в класі список функцію, що впорядковує елементи списку по зростанню.

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

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

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

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

6.25. Створіть поза класом функцію, що формує список с, включивши в нього по одному разі елементи, які входять у список c1, але не входять у список с2.