Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск

Кто сейчас на форуме
Сейчас посетителей на форуме: 2, из них зарегистрированных: 0, скрытых: 0 и гостей: 2

Нет

[ Посмотреть весь список ]


Больше всего посетителей (7) здесь было Сб Июн 17, 2017 3:57 pm
Самые активные пользователи за неделю


[ВОСКРЕСЕНЬЯ] Домашние задания

Предыдущая тема Следующая тема Перейти вниз

[ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Пн Июл 03, 2017 2:59 pm

Д/з №1 (20 мая 2017)
Введение. Классы. Конструктор и деструктор

1. Числовой счётчик — класс, скрывающий в себе целочисленную переменную. Например: счётчик учёта электричества, счётчик километража в автомобиле. Счётчик может только увеличиваться. У счётчика также есть максимальное значение, по достижении которого он обнуляется.

Создайте класс для такого счётчика. Обеспечьте возможность:
• установления максимального значения;
• увеличения счётчика на 1;
• узнать текущее показание счётчика.

Какие здесь требуются конструкторы и деструкторы?

2. Написать класс, описывающий группу студентов. Каждый студент тоже описывается с помощью класса (другого).
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Вс Июл 09, 2017 4:59 pm

Д/з №2 (09 июля 2017)
Конструктор копирования

1. Разработать класс Person, который содержит соответствующие члены для хранения:
• имени,
• возраста,
• пола и
• телефонного номера.

Напишите методы, которые смогут изменять эти члены данных индивидуально (сеттеры). Напишите метод Person::print(), который выводит отформатированные данные о человеке, и функцию Person::input (), позволяющую ввести данные о человеке с клавиатуры.

2. Разработать класс DynArray2D, позволяющий хранить двумерный динамический массив чисел int. Будучи создан, массив не изменяет своего размера. Он должен содержать:
• конструктор, создающий двумерный массив заданной ширины и высоты, и заполняющий его случайными числами;
• конструктор копирования;
• деструктор;
• функцию распечатывания содержимого массива.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Вс Июл 16, 2017 4:50 pm

Д/з №3 (16 июля 2017)
Константные методы. Перегрузка операторов

Все методы, не изменяющие содержимое класса, сделайте константыми.

1. Создайте класс Time, содержащий информацию о времени (часы, минуты, секунды). С помощью механизма перегрузки операторов определите:
• операцию увеличения времени на определенное количество секунд (Time + int = Time);
• операцию разности двух моментов времени (результат в виде количества секунд между ними: Time - Time = int).

2. Напишите класс, содержащий динамически выделенную копию текстовой строки. Перегрузите операции:
• Конкатенация (соединение двух строк). Результатом соединения двух строк должна быть новая строка. Для реализации перегрузите бинарный оператор +.
• Пересечение. Результатом пересечения двух строк должна быть новая строка, содержащая только символы, встречающиеся в обеих строках. Например, при пересечении строк "1000$" и "50 руб." должно получиться "0". Для реализации перегрузите оператор * (бинарное умножение).
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Сб Июл 22, 2017 2:44 pm

Д/з №4 (22 июля 2017)
Перегрузка унарных операторов и квадратных скобок

Создайте класс динамического массива, в котором реализована проверка выхода за границы массива. Перегрузите операторы:
• [ ] — доступ к элементу массива по номеру
• = — копирование массива
• + — формирование нового массива, являющегося объединением двух
• - — формирование нового массива, содержащего элементы из первого массива, кроме элементов из второго
• ++ — префиксный: добавление элемента в начало
• ++ — постфиксный: добавление элемента в конец
• -- — префиксный: удаление элемента из начала
• -- — постфиксный: удаление элемента из конца
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Вс Авг 13, 2017 4:32 pm

Д/з №5 (13 августа 2017)
Перегрузка операции (). Дружественная перегрузка. Перегрузка ввода и вывода

1. Создайте класс Время, в котором реализованы операции сравнения, ввода и вывода на экран. Возможность конвертации времени из американского формата am (pm): 10:00 pm = 22:00, 12:00 pm = 00:00.

2. Создать класс для работы с матрицами размера до 10 на 10. Предусмотреть функции сложения, вычитания матриц, умножения матриц, присваивания матриц друг другу, установка и получение произвольного элемента матрицы. Необходимо перегрузить соответствующие операторы.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Вс Авг 20, 2017 3:38 pm

Д/з №6 (20 августа 2017)
Умные указатели

Написать класс динамического массива целых чисел, размер которого задаётся при создании и больше не меняется. Написать класс «указателя в пределах этого массива»:

• Класс скрывает в себе указатель
• Указатель может указывать ТОЛЬКО на элементы этого массива
• При всех операциях указатель должен проверять границы и не допускать выхода за их пределы
• У класса «указателя внутри массива» должны быть перегружены стандартные операции с указателями: операторы ++, -- (и префиксные, и постфиксные), *, [ ], +, -, +=, -=.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Сб Авг 26, 2017 5:39 pm

Д/з №7 (26 августа 2017)
Стэк и очередь

Написать класс приоритетной очереди. В очередь помещаются текстовые строки. При добавлении строки в очередь нужно указать её приоритет: целое число; чем больше, тем строка приоритетнее. Очередь должна реализовывать все стандартные функции: put, take, peek; isEmpty, isFull, size; clear, print.

Наполнить очередь 7 строками, добавляя элементы по одному. После каждого добавления печатать содержимое.
Опустошить очередь, извлекая элементы по одному. После каждого извлечения печатать содержимое.

Очередь может быть реализована либо с приоритетной вставкой, либо с приоритетным извлечением.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Сб Сен 02, 2017 8:44 pm

Д/з №8 (03 сентября 2017)
Односвязный и двусвязный списки. Шаблонные классы

1. Добавить и реализовать в классе односвязного списка функции:

• Вставка нового элемента в произвольное место списка. Место задаётся порядковым номером элемента, перед которым надо вставить. (Например, 0 означает «вставить в начало».)
• Удаление произвольного элемента из списка. Элемент задаётся порядковым номером. (Например, 0 означает «удалить первый элемент».)
• Поиск элемента в списке. Задаётся значение, которые мы ищем. Функция возвращает указатель на найденный элемент или NULL, если такого в списке нет.

2. Реализовать ШАБЛОННЫЙ класс «Очередь» на основе двусвязного списка: полезная нагрузка, хранимая в каждом звене списка должна иметь произвольный тип данных T.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Вс Сен 10, 2017 2:35 pm

Д/з №9 (10 сентября 2017)
Бинарные деревья. Файлы

1. Математическое множество (Set) -- набор из нескольких не повторяющихся значений. Реализовать класс Set на основе бинарного дерева поиска со следующими операциями:

• contains (int) -- Содержит ли множество элемент?
• add (int) -- Добавляет элемент в текущее множество
• remove (int) -- Удаляет элемент из текущего множества
Перегрузите операторы:
• Set + Set = Set. Объединение множеств: все элементы из первого или второго множества.
• Set * Set = Set. Пересечение множеств: только элементы, входящие в оба множества одновременно.
• Set - Set = Set. Вычитание множеств: только элементы из первого множества, которые отсутствуют во втором.

2. База данных авиарейсов в файле. Каждый авиарейс характеризуется данными: уникальный номер, город вылета, город прибытия, время вылета, время прибытия.

Создайте фиксированный массив авиарейсов и сохраните его в файл.
Загрузите массив из файла и распечатайте.


Последний раз редактировалось: Ярослав (Сб Сен 16, 2017 6:49 pm), всего редактировалось 1 раз(а)
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Сб Сен 16, 2017 6:49 pm

Д/з №10 (17 сентября 2017)
Работа с файловой системой. Аргументы командной строки

1. Необходимо создать набор программ:

• Программа для копирования каталогов (копируются все вложенные папки и файлы)
• Программа для перемещения каталогов (перемещаются все вложенные папки и файлы)
• Программа для удаления каталогов (удаляются все вложенные папки и файлы)

2. Обновить те же программы, чтобы они управлялись исключительно параметрами командной строки. Например:
• copy.exe c:\from d:\to
• move.exe c:\from d:\to
• delete.exe c:\from
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Вс Сен 24, 2017 4:13 pm

Д/з №11 (24 сентября 2017)
Работа с файлами классами в C++

Изображение имеет размер 32 точки в ширину и 32 точки в высоту. Каждая точка имеет цвет, описываемый тремя числами: красный, зелёный и синий. Эти числа меняются в диапазоне от 0 до 255.

Создайте класс Color, описывающий цвет одной точки. Создайте класс Image, описывающий изображение. Операции с цветом помещайте в класс Color, а операции с изображением в целом — в класс Image.

Добавьте две операции сохранения Image в файл:

1. Операция saveText() сохраняет файл в текстовом формате. Содержимое файла:

32 32
255 255 255   0 0 0    ...
255   0   0   0 0 0    ...
... ... ...   .....    ...

2. Вторая операция, saveBinary(), сохраняет ту же информацию в двоичном виде.

3. Создайте объект-изображение и заполните его случайными числами. Сохраните его в два файла в разных форматах. Сравните размеры файлов.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Вс Окт 01, 2017 6:25 pm

Д/з №10 (01 октября 2017)
Наследование и полиморфизм

1. Создайте базовый класс Fruit (фрукт) со следующими полями: вес, цена (числа) и название (строка). Поля должны быть закрытыми, с get- и set- функциями для доступа. Создайте 3 класса конкретных фруктов, унаследованных от Fruit:

• Apple (яблоко), с дополнительным полем: enum цвет (зелёный, жёлтый или красный).
• Banana (банан), с дополнительным полем: зрелый или нет
• Grape (виноград), без дополнительных полей.

Для новых полей заведите get- и set- методы.

2. Заведите массив фруктов. В массиве должны быть представлены все три вида фруктов. (Подсказка: массив должен содержать указатели; объекты фруктов надо выделять динамически с помощью слова new). Распечатайте информацию о хранящихся в массиве фруктах.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Сб Окт 07, 2017 1:24 pm

Д/з №13 (08 октября 2017)
Виртуальные функции. Абстрактные классы. Интерфейсы

1. Создайте абстрактный базовый класс Employee (сотрудник) с виртуальными функциями:

• const char *occupation () — должность
• const char *name () — имя
• int payment (int year, int month) — оплата за указанный месяц
• void work () — приказывает сотруднику работать

Функции могут быть как с телом, так и без (чисто виртуальными). Определите три конкретных класса, выведенных из Employee, и доопределите для них все функции.

2. Заведите массив разных сотрудников из первого задания. Используйте этот массив, чтобы:

• Распечатать перечень сотрудников
• Составить зарплатную ведомость за октябрь 2017
• Заставить всех сотрудников трудиться

Обеспечьте своевременное удаление элементов массива!

3. Один из видов сотрудников — это директор сторонней компании, нанятой для выполнения определённых услуг.

• У директора в подчинении есть собственные сотрудники (которых он никому не показывает)
• Когда директор работает, он заставляет своих сотрудников работать.
• Когда требуется определить оплату работы компании, директор суммирует зарплаты своих работников и не забывает свою зарплату
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Пт Окт 20, 2017 9:11 am

Д/з №15 (22 октября 2017)
Строки и итераторы

1. Пользователь вводит строку. Используя цикл foreach, переберите все символы этой строки и рассортируйте их по трём строкам:

• В первую строку идут все латинские буквы
• Во вторую строку идут все цифры
• В третью строку идут все остальные символы

Распечатайте получившиеся строки.

2. В классе vector отсутствует операция вставки по индексу элемента, но есть операция insert(), где желательная позиция вставки задаётся итератором.

Напишите новую функцию, позволяющую вставить элемент перед указанным индексом; эта функция должна внутренне использовать insert. Продемонстрируйте её работу.
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Ярослав в Сб Окт 28, 2017 2:23 pm

Д/з №16 (29 октября 2017)
Коллекции STL

1. Создайте простую структуру Student с несколькими полями и операцией распечатывания. Выберите подходящий последовательный контейнер из библиотеки STL и заполните его 5 студентами. Используйте цикл foreach, чтобы распечатать всех студентов.

2. В том же проекте используйте класс std::map, чтобы создать дополнительную коллекцию для быстрого поиска студента по имени. В качестве ключа используйте строку (имя студента). Пользователь вводит имя студента; программа должна найти и распечатать его. Предусмотреть случай, когда студент не найден.
(сделали в классе)
avatar
Ярослав
Admin

Posts : 346
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [ВОСКРЕСЕНЬЯ] Домашние задания

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения