Программирование

Тип работы: Все Задача Курсовая работа Лабораторная работа Ответы на вопросы
Язык программирования: Все Bash Basic Batch C C# C# ASP .NET C++ Delphi Fortran Free Basic HTML Java JavaScript Object Pascal Pascal Pascal ABC Python Turbo Pascal VBA Visual Basic алгоритмические языки Ассемблер
Блок-схема: Все Есть Нет
Сортировать по умолчанию цене названию
  • Задание

    Все задания выполняются на языки c++ в среде VisualStudio. Результатом выполнения задания является работающая консольная программа, протокол, который включает в себя задание, алгоритм работы основных функций и код программы.

    Задание состоит из основной задачи и дополнительных двух заданий. Без выполнения обоих частей задание не считается выполненным.
    Задания выбираются в соответствии с порядковым номером в списке группы.
    Номер в списке группы делится на 5, находится остаток от деления, к остатку прибавляется 1, полученное значение это номер  задачи.

    1) Создать базу данных(БД) Автомобилей. БД содержит марка автомобиля, год выпуска, пробег. БД должна загружаться из файла "base.txt"  и сохранятся в него. Функции, которые можно выполнять с БД: удалить, добавить, изменить запись. Поиск всех автомобилей заданного цвета. Подсчет количества автомобилей, где год выпуска находится в задаваемом диапазоне.

    2) Осуществить вывод данных в чередование один элемент с конца, один сначала.

    3) Реализовать удаление записей соответствующих заданным фильтрам. Пример: для задачи 5 нужно найти всех студентов с одинаковыми любимыми предметами. В БД хранится ("Вася",математика),("Петя",математика), ("Катя",информатика), ("Лена",английский язык).Найдены "Вася","Петя".  Их нужно удалить из БД.  После удаления в БД будут ("Катя",информатика), ("Лена",английский язык).

  • 2 Содержание работы

    2.1 Напишите программу ввода с клавиатуры массива из 10 чисел, увеличения элементов массива в два раза и вывода на экран измененного массива.

    2.2 Доработать вывод массива на экран, задав ширину поля вывода элемента. Модифицировать программу таким образом, чтобы массив заполнялся случайными числами из диапазона [-10;10]. 

    2.3 Дополнить программу вычислением суммы всех элементов исходного массива.

    2.4 Дополнить программу нахождением количества  отрицательных элементов.

    2.5  Дополнить программу нахождением наименьшего элемента массива

    2.6 Дополнить программу выводом на экран каждого 3-го,6-го,9-го элемента

    2.7 Поменять местами первый отрицательный и последний положительный
    элементы массива.

  • Пользователь вводит текст из 30-ти символов. Необходимо определить количество гласных латинских букв. Вывести количество на экран.

    ( поставить ограничение )

  • Контрольная, Программирование (C++) и Вычислительная математика

    1 Решение уравнений с одной переменной

    Задание

    Написать программу отделения корней.

    Написать программу методом золотого сечения;

    2 Решение систем линейных уравнений

    Задание

    Написать программу решения системы линейных алгебраических уравнений методом Гаусса.

    3 Вычисление определителей матриц

    Задание

    Написать программу вычисления определителя матрицы методом Гаусса.

    4 Вычисление обратной матрицы

    Задание

    Написать программу вычисления обратной матрицы методом Гаусса.

    5 Приближение функций

    Задание

    Написать программу интерполяции таблично заданной функции с помощью полиномов Лагранжа.

    6 Численное дифференцирование

    Задание

    Написать программу вычисления определителя матрицы методом Гаусса.

    7 Численное интегрирование

     

    Задание

    1. Написать программу вычисления интеграла по формуле трапеции с автоматическим выбором шага интегрирования.

    2.   Написать программу вычисления интеграла по формуле Гаусса.

     

  • Контрольная, Программирование и информатика

    КОНТРОЛЬНАЯ  РАБОТА

    1 Задание: Вычислить сумму ряда (по вариантам). Не использовать стандартные функции возведения в степень и факториал, а написать свои функции для вычисления числителя и знаменателя.

    2 Задание:

    1. Напишите программу, которая: а) вводит с клавиатуры два непустых массива целых чисел в диапазоне от нуля до девяти и печатает их разность; б) заменить элементы массива средним арифметическим соседних элементов (крайние элементы не трогать); в) каждый элемент, кратный трем, увеличить в два раза
  • Контрольная, Программирование С++ 1

    Вариант 9 (Классы)
    Описать класс, реализующий стек и работу с ним.
    1.) Класс должен содержать следующие сведения об отправлении поездов дальнего следования:
    • пункт отправления;
    • номер поезда;
    • время прибытия.
    2.) В классе должны быть реализованы следующие операции над стеком:
    • добавление данных о поездах в информационную систему;
    • удаление данных о поезде по введенному номеру поезда;
    • вывод информации обо всех поездах;
    • вывод информации о поезде, номер которого введен с клавиатуры;
    3.) Программа должна обеспечивать диалог с помощью меню.
    4.) В программе должны быть созданы два экземпляра класса: прибывающие и задерживающиеся поезда, должны быть предусмотрена возможность перевода поезда из прибывающих в задерживающиеся и наоборот по введенному номеру поезда (при этом информация о данном поезде удаляется из одного списка и добавляется в другой). При выводе информации о поездах, пользователь должен выбрать какой список выводить (прибывающих или задерживающихся поездов), либо вывести все поезда из обоих списков.

    Вариант 9 (двуязычный список)
    1.) Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования.
    Для каждого поезда указывается:
    • пункт назначения;
    • номер поезда;
    • время отправления.
    2.) Программа должна обеспечивать:
    • хранение данных в информационной системе в виде двусвязного списка, записи должны быть упорядочены по номерам поездов;
    • добавление данных о поездах в информационную систему;
    • удаление данных о поезде по введенному номеру поезда;
    • вывод информации обо всех поездах;
    • вывод информации о поезде, номер которого введен с клавиатуры;
    3.) Программа должна обеспечивать диалог с помощью меню.

    Вариант 9 (файлы)
    Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.

    Вариант 15 (двуязычный список)
    1.) Составить программу, которая содержит текущую информацию о книгах в библиотеке.
    Сведения о книгах включают:
    • фамилию и инициалы автора;
    • название;
    • год издания;
    • количество экземпляров данной книги в библиотеке.
    2.) Программа должна обеспечивать:
    • хранение всех данных обо всех книгах в библиотеке в виде двусвязного списка, записи должны быть упорядочены по годам издания;
    • добавление данных о книгах вновь поступивших в библиотеку;
    • удаление данных о списываемой книге, название которой введено с клавиатуры;
    • вывод информации обо всех книгах в библиотеке;
    • по запросу выводится информация обо всех книгах автора, имеющихся в библиотеке, чья фамилия введена с клавиатуры.
    3.) Программа должна обеспечивать диалог с помощью меню.

    Вариант 15 (файлы)
    Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.

    Вариант 15 (Классы)
    Описать класс, реализующий стек и работу с ним.
    1.) Класс должен содержать следующие сведения о книгах в библиотеке:
    • фамилию и инициалы автора;
    • название;
    • год издания;
    • количество экземпляров данной книги в библиотеке.
    2.) В классе должны быть реализованы следующие операции над стеком:
    • добавление данных о книгах вновь поступивших в библиотеку;
    • удаление данных о списываемой книге, название которой введено с клавиатуры;
    • вывод информации обо всех книгах в библиотеке;
    • по запросу выводится информация обо всех книгах автора, имеющихся в библиотеке, чья фамилия введена с клавиатуры.
    3.) Программа должна обеспечивать диалог с помощью меню.
    4.) В программе должны быть созданы два экземпляра класса: книги в библиотеке и выданные читателям. Когда читатель берет книгу в библиотеке, информация о ней (по введенному названию книги) должна быть автоматически удалена из списка книг в библиотеке и переведена в список книг у читателей. Когда читатель сдает книгу в библиотеку, информация о ней должна быть автоматически удалена из списка книг у читателей и перенесена в список книг в библиотеке. При выводе информации о книгах, пользователь должен выбрать какой список выводить (книги в библиотеке или у читателей), либо вывести все книги из обоих списков.

  • Контрольная, Разработка компонентов ИКТ

    1. Инициализация переменных. Ввод - вывод данных

    Задача 1

    Дано число а. Не пользуясь никакими другими арифметическими операциями, кроме сложения, получить 28а за шесть операции.

    Задача 2

    Ввести число. Заменить последнюю цифру на 5.

    2. Вычисления в программе

     

    Задача 1

    Ввести трехзначное число. Вычислить корень квадратный второй цифры.

    Задача 2

    3. Ветвление в программе

    Задача 1

    Задача 2

    Даны три числа. Вывести те из них, которые принадлежат интервалу [1,3].

    Задача 3

    Ввести четырехзначное число. Определить совпадают ли в нем вторая и последняя цифры.

    4. Выбор в программе

    Задача 1

    Ввести число N (от 1 до 5), определяющее количество цифр числа В. Вывести минимальное и максимально возможные значения для числа В

    5. Цикл с параметром (со счетчиком)

    Задача 1

    Ввести с клавиатуры 8 чисел. Определить среднее арифметическое положительных чисел.

    Задача 2

    Вычислить (1+SIN (X))(2+SIN (2X))(3+SIN (3X))…(10+SIN (10X)).

    6. Цикл по условию

    Задача 1

    Ввести число. Определить является ли оно степенью 2 (число 16 является, а 22 нет).

    Задача 2

    Последовательно вводятся числа, найти их произведение. Ввод остановить после ввода второго отрицательного значения.

     

  • Ввести массив структур в соответствии с вариантом. Отсортировать массив в алфавитном порядке по первому полю, входящему в структуру. В программе реализовать меню:
    1) ввод массива структур;
    2) сортировка массива структур;
    3) поиск в массиве структур по заданному параметру;
    4) изменение заданной структуры;
    5) удаление структуры из массива;
    6) вывод на экран массива структур;
    7) выход.


    Варианты индивидуальных заданий
    0. Структура «Авиарейсы»: номер рейса, пункт назначения, время вылета, дата вылета, стоимость билета

  • Контрольная, Технологии разработки программного обеспечения

     

     

    Вариант 1. Калькулятор для выражений с постфиксной (польской) формой записи. В минимальном виде калькулятор – это утилита, которой в качестве параметров передается имя входного файла, содержащего выражение. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный, обрабатывая возможные ошибочные ситуации, 3) производит вычисление результата выражения, 4) печатает и завершает работу.

     

    Выражение для калькулятора– это:

    • десятичная константа;
    • выражение -
    • выражение выражение +
    • выражение выражение *
    • выражение выражение /
    • выражение sin
    • выражение cos

     

    Для задания 4 ось X – размер входного файла со строкой выражения.

     

  • Вариант 1

    Двусвязный список

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

    2.)       Программа должна обеспечивать: • хранение сведений обо всех студентах в виде двусвязного списка, записи должны быть упорядочены по алфавиту; • добавление данных о новых студентах; • удаление данных о студенте, фамилия которого введена с клавиатуры; • вывод сведений обо всех студентах; • по запросу выводятся сведения о студентах, которые имеют хотя бы одну оценку 2.

    3.)       Программа должна обеспечивать диалог с помощью меню.

    Динамические структуры данных

    1.)       Составить программу, которая содержит текущую информацию об успеваемости студентов.

    2.)       Сведения о студентах включают:

    1. фамилия и инициалы;
    2. номер группы;
    3. успеваемость (массив из пяти элементов).

    3.)       Программа должна обеспечивать:

    1. хранение сведений обо всех студентах в виде односвязного списка (очередь);
    2. добавление данных о новых студентах;
    3. удаление данных о студенте, фамилия которого введена с клавиатуры;
    4. вывод сведений обо всех студентах;
    5. по запросу выводятся сведения о студентах, которые имеют хотя бы одну оценку 2.

    4.)       Программа должна обеспечивать диалог с помощью меню.

    Классы

    1.)       Составить программу, которая содержит текущую информацию об успеваемости студентов.

    2.)       Сведения о студентах включают:

    1. фамилия и инициалы;
    2. номер группы;
    3. успеваемость (массив из пяти элементов).

    3.)       Программа должна обеспечивать:

    1. хранение сведений обо всех студентах в виде односвязного списка (очередь);
    2. добавление данных о новых студентах;
    3. удаление данных о студенте, фамилия которого введена с клавиатуры;
    4. вывод сведений обо всех студентах;
    5. по запросу выводятся сведения о студентах, которые имеют хотя бы одну оценку 2.

    4.)       Программа должна обеспечивать диалог с помощью меню.

     

    Вариант 2

    1.)       Динамические структуры данных Составить программу, которая содержит сведения телефонной книжки.

    Каждая запись включает:

    • фамилия, имя;
    • номер телефона;
    • день рождения (массив из трех чисел).

    2.)       Программа должна обеспечивать:

    • хранение всех записей в виде односвязного списка (очередь);
    • добавление новой записи;
    • удаление из списка информации о человеке, день рождения которого приходится на дату, введенную с клавиатуры;
    • вывод информации обо всех номерах телефонов;
    • по запросу выводится информация о человеке, чья фамилия введена с клавиатуры.

    3.)       Программа должна обеспечивать диалог с помощью меню.

    Классы

    Описать класс, реализующий стек и работу с ним.

    Класс должен содержать следующие сведения телефонной книжки:

    • фамилия, имя;
    • номер телефона;
    • день рождения (массив из трех чисел).

    В классе должны быть реализованы следующие операции над стеком:

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

    Программа должна обеспечивать диалог с помощью меню.

    В программе должны быть созданы два экземпляра класса: информация о людях, у которых день рождения уже был в этом году и люди, у которых день рождения после текущей даты. При добавлении нового человека должен быть автоматически выбран экземпляр стека, в который добавляются данные. Должна быть предусмотрена возможность изменения текущей даты, после изменения информация о людях должна быть автоматически перенесена из одного списка в другой. При выводе информации о людях, пользователь должен выбрать какой список выводить (у которых день рождения уже был в этом году или еще предстоит), либо вывести все записи из обоих списков.

    Двусвязный список

    1.) Составить программу, которая содержит сведения телефонной книжки. Каждая запись включает: • фамилия, имя; • номер телефона; • день рождения (массив из трех чисел).

    2.) Программа должна обеспечивать: • хранение всех записей в виде двусвязного списка, записи должны быть упорядочены по трем первым цифрам номера телефона; • добавление новой записи; • удаление из списка информации о человеке, день рождения которого приходится на дату, введенную с клавиатуры; • вывод информации обо всех номерах телефонов; • по запросу выводится информация о человеке, чья фамилия введена с клавиатуры.

    3.) Программа должна обеспечивать диалог с помощью меню.

     

     

     

     

  • 1   Практическая работа №1 «Файлы»

    1.1   Цель работы

    Изучить способы создания и работы с файлами в языке С++

    Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте.

    Практическая работа №1 «Структуры»

    1.1   Цель работы

    Изучить особенности работы с составным типом данных – структуры.

    1.)            Описать структуру с именем NOTE, содержащую следующие поля:

    • фамилия, имя;
    • номер телефона;
    • день рождения (массив из трех чисел).

    2.)            Написать программу, выполняющую следующие действия:

    • ввод с клавиатуры данных в массив, состоящий из n элементов типа NOTE, записи должны быть упорядочены по трем первым цифрам  номера телефона;
    • вывод на дисплей информации о человеке, чья фамилия введена с клавиатуры;
    • если такого нет, выдать на дисплей соответствующее сообщение.
  • Практическая работа №1 «Структуры»

    1.1   Цель работы

    Изучить особенности работы с составным типом данных – структуры.

    Задание

    1.)            Описать структуру с именем STUDENT, содержащую следующие поля:

    • фамилия и инициалы;
    • номер группы;
    • успеваемость (массив из пяти элементов).

    2.)            Написать программу, выполняющую следующие действия:

    • ввод с клавиатуры данных в массив, состоящий из n структур типа STUDENT, записи должны быть упорядочены по алфавиту;
    • вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2;
    • если таких студентов нет, вывести соответствующее сообщение.
    • Практическая работа №1 «Файлы»

      1.1   Цель работы

      Изучить способы создания и работы с файлами в языке С++.

    • Задание 

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

  • Контрольно-курсовая работа

    Задание 1 Вычисления

    Даны два неотрицательных числа a и b. Найти их среднее геометрическое, то есть квадратный корень из их произведения: a⋅b.

    Задание 2 Целые числа

    Дано двузначное число. Вывести вначале его левую цифру (десятки), а затем — его правую цифру (единицы). Для нахождения десятков использовать операцию деления нацело, для нахождения единиц — операцию взятия остатка от деления.

    Логические выражения

    Даны два целых числа: A, B. Проверить истинность высказывания: «Числа A и B имеют одинаковую четность».

    Задание 3 Оператор if

    Даны два числа. Вывести большее из них.

    Задание 4Оператор цикла for    

    Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + … + 1/N (вещественное число).

    Задание 5 Оператор цикла for

    Дано целое число N и набор из N положительных вещественных чисел. Вывести в том же порядке дробные части всех чисел из данного набора (как вещественные числа с нулевой целой частью), а также произведение всех дробных частей.

    Задание 6 Функции

    Описать процедуру DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S — выходные параметры целого типа). С помощью этой процедуры найти количество и сумму цифр для каждого из пяти данных целых чисел.

    Задание 7 Минимумы и максимумы

    Дано целое число N и набор из N целых чисел. Найти номера первого минимального и последнего максимального элемента из данного набора и вывести их в указанном порядке.

    Задание 8 Одномерные массивы

    Даны целые числа N (> 2), A и B. Сформировать и вывести целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих. Дан массив размера N. Вывести его элементы в обратном порядке.

    Задание 9 Одномерные массивы. Исследование элементов

    Дан массив размера N и целые числа K и L (1 < K ≤ L ≤ N). Найти среднее арифметическое всех элементов массива, кроме элементов с номерами от K до L включительно.   

    Задание 10 Массивы

    Дан массив размера N (N — четное число). Поменять местами первую и вторую половины массива.

    Задание 13

    Даны целые положительные числа M, N, число Q и набор из N чисел. Сформировать матрицу размера M * N, у которой первая строка совпадает с исходным набором чисел, а элементы каждой следующей строки равны соответствующему элементу предыдущей строки, умноженному на Q (в результате каждый столбец матрицы будет содержать элементы геометрической прогрессии).

    Задание 14 Символы и строки

    Дан символ C, изображающий цифру или букву (латинскую или русскую). Если C изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus»

    Задание 15

    Описать рекурсивную функцию Combin1(N, K) целого типа, находящую C(N, K) — число сочетаний из N элементов по K — с помощью рекуррентного соотношения: C(N, 0) = C(N, N) = 1, C(N, K) = C(N – 1, K) + C(N – 1, K – 1) при 0 < K < N. Параметры функции — целые числа; N > 0, 0 ≤ K ≤ N. Дано число N и пять различных значений K. Вывести числа C(N, K) вместе с количеством рекурсивных вызовов функции Combin1, потребовавшихся для их нахождения.

     

     

     

     

     

     

  • Курсовая на C++, Класс для определения двумерных массивов целых чисел

    Создать программу на языке С++ (в среде Microsoft Visual Studio или другой) для решения определенной задачи.

    Составить описание класса для определения двумерных массивов целых чисел (матрицы). Предусмотреть методы для создания и уничтожения объектов, а также вычисление обратной и транспонированной матриц.

    Написать программу, демонстрирующую работу с этим классом. Программа должна:

    – содержать меню, позволяющее осуществить проверку всех методов класса;

    – обеспечивать запрос и ввод с клавиатуры необходимых входных данных, а также контроль возможных ошибок при вводе.

    Самостоятельно предложить производный класс, образуемый методом наследования от исходного класса и содержащий дополнительные функциональные возможности обработки информации, хранящейся в полях (атрибутах) исходного класса.

  • Курсовая по ООП на С++

    Создать класс с указанными двумя полями (Поле 1, Поле 2) и тремя методами: конструктор для инициализации объекта; функция формирования строки с информацией об объекте; функция обработки значений полей. Создать дочерний класс с дополнительным полем. Реализовать в дочернем классе методы: конструктор; функцию обработки данных.

    Поле 1: Вещественное число - Первый катет прямоугольного треугольника

    Поле 2: Вещественное число - Второй катет прямоугольного треугольника

    Функция обработки полей: Вычислить длину гипотенузы прямоугольного треугольника

    Поле дочернего класса: Высота призмы;

    Функция обработки данных: Сумму всех ребер призмы, у которой в основании прямоугольный треугольник.

  • Курсовая работа на C++  с  применением STL методов

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

    - добавление, редактирование, удаление информации о студентах;

    - добавление, редактирование, удаление информации о дисциплинах;

    - поиск информации по фамилии студента, с выводом всех его оценок по дисциплине;

    - поиск информации по дисциплине с выводом количества студентов, изучающих данный предмет;

    - поиск информации по оценкам.

  • Курсовая работа на C++ - Визуализация сортировки Шелла

    Курсовая работа на тему "Визуализация сортировки Шелла".

    Цель работы: изучение алгоритма сортировки Шелла и создания его визуализатора.

    Задачи:

    -                   изучить алгоритм сортировки Шелла,

    -                   провести сравнительный анализ с другими алгоритмами,

    -                   написать программу, демонстрирующую этот алгоритм.

    К данной программе предъявляются следующие требования:

    -                     использование простых средств управления,

    -                     интуитивно - понятный графический интерфейс.

  • Курсовая работа на C++ с использованием SDL - "Ханойская башня"

    Легенда. В центре мира в вершинах равностороннего треугольника в землю вбиты три алмазных шпиля. На одном из них надето 64 золотых диска убывающих радиусов (самый большой – нижний). Трудолюбивые буддийские монахи день и ночь переносят диски с одного шпиля на другой. При этом диски надо переносить по одному и нельзя класть больший диск на меньший. Когда все диски перенесут на другой шпиль, наступит конец света.

    Правила игры. На экране изображены три стержня, на одном из которых находятся диски. Количество дисков зависит от уровня сложности. С помощью клавиш управления (стрелки) игрок перемещает монаха. Нажатие клавиши «Пробел» соответствует операции с диском (взять или положить), при этом диск можно поместить только на диск большего размера. Каждая пара действий: снятие диска со стержня и помещение диска на стержень,– считается перемещением диска. Игра заканчивается, когда все диски с первого стержня оказываются на третьем стержне. 10 лучших результатов по каждому уровню (указывается время и количество перемещений) хранятся в файле и выводятся на экран по запросу пользователя. Программа должна включать в себя демоверсию игры.

  • Курсовая работа на тему Алгоритмы поиска в тексте

    Цель работы заключается в изучении основных методов поиска в тексте, выявлении их достоинств и недостатков.

    В работе в качестве инструментального средства для алгоритмов поиска подстроки в строке используется язык С++, однако похожим образом можно организовать обработку данных и на другом языке.

    В первой части работы изучаются наиболее известные и эффективные алгоритмы поиска подстроки в строке (прямого поиска, Кнута, Морриса и Пратта, Бойера-Мура). Во второй части приведены методы нечеткого поиска в тексте или словаре: алгоритмы нечеткого поиска без индексации (линейный поиск, метод Bitap) и алгоритмы нечеткого поиска с индексацией (алгоритм расширения выборки, метод N-грамм, хеширование по сигнатуре, ВК-деревья). 

  • Коллекция объектов произвольных типов в памяти

    Необходимо разработать интерфейс для объединения в структуру данных множества объектов различных классов - абстрактный базовый класс объектов object, для которого предусмотреть виртуальные методы: загрузки объекта из текстовой строки, выгрузки объекта в текстовую строку в динамической памяти, добавления объекта в последовательный двоичный файл, чтения объекта из последовательного двоичного файла, возврата уникального идентификатора класса, возврата указателя на строку с именем класса, сравнения двух объектов, “сложения “(объединения) двух объектов, создание динамической копии объекта. Сделать классы хранимых объектов производными от абстрактного базового класса object (например, класс Float, String и класс из лабораторной работы).

    Коллекция представляет собой структуру данных, хранящую указатели на объекты произвольного типа - объекты базового класса. Программа должна обеспечивать просмотр коллекции, добавление объекта выбранного типа, редактирование и удаление объекта, сложение и сравнение объектов при условии совпадения типов с помещением результата в ту же коллекцию, сохранение и загрузку объектов из текстового (или двоичного) файла.

    Программа должна реализовывать указанные выше действия. Протестировать структуру данных на простом типе (например, Int или String). Программа тестирования должна содержать меню, обеспечивающее выбор операций.

    Вид структуры данных

    Дерево, вершина которого содержит два указателя на поддеревья, счетчик количества вершин и указатель на объект.