Алгоритм Флойда-Уоршелла на С++

Задача алгоритм Флойда-Уоршелла на С++

Данный алгоритм предназначен для нахождения кратчайших расстояний между всеми вершинами взвешенного ориентированного графа. Над матрицей выполняется некоторое количество итераций. После k-й итерации matrix[i,j] содержит значение наименьшей длины путей из вершины i в вершину j, которые не проходят через вершины с номером, большим k. Между вершинами пути i и j могут находиться только те вершины, номера которых […]

Транзитивное замыкание графа C++

Транзитивное замыкание графа

Транзитивным графом называется такой граф, в котором из существования дуг (xi, xj) и (xj, xk) следует существование дуги (xi,xk). Транзитивным замыканием графа G называется граф G’=(V, E∪E’), где E’ — минимальное множество дуг , которое следует добавить к графу G, чтобы он стал транзитивным. Сегодня мы рассмотрим реализацию алгоритмы транзитивного замыкания графа. Существует несколько способов произвести […]

Самопальная библиотека String в C++

Создание библиотеки String

Суть задачи заключается в том, чтобы познакомиться с устройством библиотеки string (библиотека для работы со строками) и понять, как самостоятельно писать библиотеки. В данной задаче необходимо реализовать: сравнение строк, сложение (конкатенация строк), вывод строки и разбить на два файла (можете записать в один файл весь код (классы сверху, main внизу)). Реализация через классы. Создаём нашу […]

Задача черепаха в C++

«Черепаха»

Классическая задача на алгоритмы под незатейливым названием «Черепаха». Суть задачи заключается в том, чтобы определить количество возможных проходов из точки А в точку Б. Читаем данные из файла и пишем результат в файл. Входные данные для обработки (то, что заносим вручную):

Выходные данные (то, что должны получить после выполнения программы):

Задача реализуется через […]

Бинарное дерево в C++

Бинарное дерево

Необходимо построить дерево двоичного поиска, элементами которого являются целые числа. Данные хранятся в файле (в нём записано через пробел в одну строку числа (например: 1 2 3 6 9)). Вывести элементы дерева на экран используя следующие обходы дерева: а) инфиксным обходом б) постфиксным обходом в) префиксным обходом Также нужно реализовать следующие функции: г) Найти сумму […]

Первая программа на C++

Первая программа

Сегодня мы познакомимся с языком программирования C++ и напишем код «Первая программа величайших программистов». В данной главе мы напишем первый код и познакомимся с жизненно важными функциями без которых дальше ни куда и будем осваивать «привычки» профессиональных программистов. Откройте свой компилятор (он может быть любым, но настоятельно НЕ рекомендую онлайн-компиляторы, если у вас медленный интернет, ждать […]

Задача домофон в C++

«Домофон»

Суть задачи домофон заключается в том, чтобы сымитировать работу домофона используя классы. Домофон умеет отвечать, открывать дверь, закрывать её, отвечать, что хозяина нет дома, то есть быть гостю автоответчиком…

Корень в корне у корня…

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

Задача рюкзак C++

«Рюкзак»

Имеется рюкзак, вместимость которого W и набор из N предметов, причём i-ый предмет займёт Wi места, если положить его в рюкзак, и имеет ценность Ci. Вашей задачей является собрать в рюкзаке набор предметов, имеющий максимальную суммарную ценность. Входные данные На первой строке два целых числа W и N. На каждой из последующих N строк по два […]