русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лабораторна робота 6


Дата добавления: 2015-07-09; просмотров: 902; Нарушение авторских прав


Тема: функції та класи з шаблонами

 

Варіант 1

Створити функцію сортування (впорядковування) одновимірного масиву з елементами довільного типу. Передбачити параметр функції, який дає змогу виконувати впорядковування елементів масиву: а) по збільшенню значень елементів; б) по зменшенню.

 

Варіант 2

Написати функцію, яка створює копію іншого двовимірного динамічного масиву довільного типу.

 

Варіант 3

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

 

Варіант 4

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

Варіант 5

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

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

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

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

" * " - скалярне множення масивів,

" << " - циклічне переставлення елементів масиву уліво,

" >> " - циклічне переставлення елементів масиву управо,

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

 

Варіант 6

Створити динамічний клас з шаблонами для роботи з послідов-

ностями абстрактних символів із деякого алфавіту. Передбачити шаблони для таких випадків: символ є ціле число, символ є символом ASCII, символ є рядок символів ASCII, символ є вектор на площині. Максимальну довжину послідовності і код завершення послідовності вибрати самостійно. Перевантажити операції:



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

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

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

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

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

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

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

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

 

Варіант 7

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

" = " - присвоєння,

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

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

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

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

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

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

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

 

Варіант 8

Створити клас List для роботи із структурою типу "однозв’язний список". Тип елемента списку - довільний, застосувати шаблони. Передбачити функції для виконання таких операцій:

putinbeg - створити новий елемент списку у його початку;

getoutbeg - добути і вилучити перший елемент списку;

putinend - створити новий елемент списку у його кінці;

getoutend - добути і вилучити останній елемент списку;

print - вивести список на екран;

Приклад побудови зв’язного списка з шаблоном див., наприклад, у [ Майкл Хаймен И., Арнсон Боб. Borland C++ 5 для "чайников".- К.: Диалектика, 1997.- 320 с.]

 

Варіант 9

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

push - занести у стек значення типу Тype;

pop - добути і вилучити значення із вершини стека;

print - вивести усі значення стека на екран;

num - повернути кількість значень, що знаходяться у стеку.

 

Варіант 10

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

add - занести у чергу надане значення;

pop - добути і вилучити значення із черги;

print - вивести усі значення із черги на екран;

num - повернути кількість значень, що знаходяться у черзі;

isempty - повернути значення true (тип bool), якщо черга пуста.

 

Варіант 11

Створити клас Lstack - стек, що базується на структурі зв’язного списку. Передбачити, щоб стек мав можливість вміщувати значення довільного типу, застосувати шаблони. Передбачити функції - члени класу для виконання таких операцій:

push - занести у стек надане значення;

pop - добути і вилучити значення із вершини стека;

print - вивести усі значення стека на екран;

num - повернути кількість значень, що знаходяться у стеку;

isempty - повернути значення true (тип bool), якщо черга пуста.

Вказівки.

Передбачити обробку виключної ситуації: добування значення із порожнього стека.

 

Варіант 12

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

add - занести у кінець черги значення типу Тype;

pop - добути і вилучити значення із початку черги;

print - вивести усі значення, що знаходяться у черзі, на екран;

num - кількість значень, що знаходяться у черзі;

isempty - повернути значення true (тип bool), якщо черга пуста.

Вказівки.

Передбачити обробку виключної ситуації: добування значення із порожньої черги.

 

 



<== предыдущая лекция | следующая лекция ==>
Лабораторна робота 5 | Лабораторна робота 7


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.996 сек.