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

Лабораторна робота 5

Тема: введення/виведення потоками, робота з файлами, створення нових потокових операцій

Варіант 1

Створити динамічний клас для роботи з одновимірними масивами чисел дійсного типу. Здійснити перевантаження символів операцій:

" = " - динамічне присвоєння,

" + " - по елементне додавання,

" - " - по елементне віднімання,

" [ ] " - доступ до елементу з контролем.

Крім того перевантажити операції введення із файлу і виведення у файл з символами " << " , " >> " таким чином:

f << A або A >> f - виведення (запис) значення A у файл f,

f >> A або A << f - введення (читання) значення A із файлу f.

Тип елементу масиву обрати самостійно.

Варіант 2

Створити динамічний клас для роботи з рядками символів. Максимальна довжина послідовності - 32767, код завершення послідовності - нуль. Здійснити перевантаження символів операцій:

" + " - конкатенація (з’єднання) рядків,

" - " - вилучення підрядку,

" < " - відношення "менше",

" <= " - відношення "менше чи дорівнює",

" > " - відношення "більше",

" >= " - відношення "більше чи дорівнює".

За відношення порядку ("менше", "більше", "менше чи дорівнює", "більше чи дорівнює") вважати відношення лексикографічного порядку.

Крім того перевантажити операції введення із файлу і виведення у файл з символами " << " , " >> " таким чином:

f << A або A >> f - виведення (запис) значення A у файл f,

f >> A або A << f - введення (читання) значення A із файлу f, де f - покажчик на файл.

Варіант 3

Створити динамічний клас для роботи з рядками однобайтових символів. Перший байт робочого масиву повинен містити інформацію про фактичну кількість символів у рядку. Здійснити перевантаження символів операцій:

" + " - конкатенація (з’єднання) рядків,

" < " - відношення "менше",

" > " - відношення "більше",

" == " - відношення "дорівнює".

За відношення порядку ("менше", "більше", "менше чи дорівнює", "більше чи дорівнює") вважати відношення лексикографічного порядку.

Крім того перевантажити операції введення із файлу і виведення у файл з символами " << " , " >> " таким чином:

f << A або A >> f - виведення (запис) значення A типу "рядок" у файл f,

f >> A або A << f - введення (читання) значення A із файлу f, де f - покажчик на файл.

Передбачити обробку виключної ситуації - перевищення кількості символів рядка максимальної припустимої величини - 254.

Варіант 4

Створити клас для роботи з множинами. Максимальна кількість елементів множини - 32767. Здійснити перевантаження символів операцій:

" + " - об’єднання множин,

" - " - віднімання множин,

" * " - переріз множин,

Крім того перевантажити операції введення із файлу і виведення у файл з символами " << " , " >> " таким чином:

f << A або A >> f - виведення (запис) значення A типу "множина" у файл f,

f >> A або A << f - введення (читання) значення A із файлу f, де f - покажчик на файл.

Варіант 5

Створити клас для роботи з множинами. Максимальна кількість елементів множини - 32767. Здійснити перевантаження символів операцій:

" <= " - відношення включення (перевіряється, чи є множина, що надана лівим операндом, підмножиною множини, що надана правим операндом),

" >= " - відношення включення (перевіряється, чи є множина, що надана правим операндом, підмножиною множини, що надана лівим операндом),

" == " - еквівалентність множин.

Крім того перевантажити операції введення із файлу і виведення у файл з символами " << " , " >> " таким чином:

f << A або A >> f - виведення (запис) значення A типу "множина" у файл f,

f >> A або A << f - введення (читання) значення A із файлу f, де f - покажчик на файл.

Варіант 6

Написати програму, яка здійснює побайтне копіювання інформації з одного файлу в інший. Імена файлів вказуються у командній стрічці. Якщо ім’я файлу-приймача не вказано, програма повинна виводити інформацію із файлу-джерела на екран. Для виконання операцій обміну застосувати потокові операції.

Варіант 7

Створити класи bifstream i bofstream для виконання файлових операцій читання і запису значень дійсного типу у бінарному режимі. Застосувати потокові операції введення/виведення. Тип значень обрати самостійно з наступних: float, double, extended.

Варіант 8

Перевантажити символ операції “>>” таким чином, щоб можна було робити копіювання файлу за допомогою такого оператору:

fa >> fb ;

де fa, fb – потоки, що пов’язані з файлами.

Операція “>>” повинна повертати значення потоку fa так, щоб можна було робити множинне копіювання:

fa >> fb >> fc;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]