An open API service indexing awesome lists of open source software.

https://github.com/gusenov/problem-solving-in-cpp

:mortar_board: Решение задач на языке программирования C++.
https://github.com/gusenov/problem-solving-in-cpp

cplusplus cpp problem-solving

Last synced: 3 months ago
JSON representation

:mortar_board: Решение задач на языке программирования C++.

Awesome Lists containing this project

README

          

# Содержание

## Типы данных

- [Вычисление значения вещественного типа (float), соответствующего заданному двоичному представлению числа с фиксированной точкой с n разрядами под целую часть](str-to-float/)

## Числа

- [Определение количества отрицательных вещественных чисел из 4 данных](num-of-neg-num/)
- [Определение, равен ли квадрат трёхзначного числа сумме кубов его цифр](is-sqr-equals-sum-of-dig/)

## Строки

- [Преобразование строки так, чтобы каждое слова начиналось с заглавной буквы](capitalize-first-letter-of-ru-words/)
- [Подсчёт количества содержащихся в строке прописных латинских букв](count-uppercase-latin-letters/)
- [Удаление из строки S последней подстроки, совпадающей с S₀](remove-last-substring/)
- [Вставка подстроки в позицию N строки S](insert-string-at-position/)
- [Удаление содержимого круглых скобок](remove-parentheses-from-sentence/)
- [Удаление одинаковых слов](remove-same-words/)

## Дата и время

- [Определение, каким будет k-й день года: субботой, воскресеньем или рабочим днём](get-day-of-week-by-no/)
- [Определение, по заданным g, n и m даты предыдущего дня и даты следующего дня](get-previous-or-next-day/)
- [Класс Date и структура DateTime](date-time/)

## Массивы

- [Выделение памяти под одномерный динамический массив, используя функцию malloc()](dynamic-alloc-1d-arr/malloc-random-array/)
- [Выделение памяти под одномерный динамический массив, оператор new](dynamic-alloc-1d-arr/new-random-array/)
- [Уменьшение всех элементов одномерного массива на среднее значение положительных элементов](dec-arr-el/)
- [Оценка времени работы различных функций сортировки массивов различных типов (целых и вещественных)](sort-algo-time-cmp/)
- [Массив из 100 экземпляров класса ATM](arrays/atms/)
- [Поиск наименьшего в массиве значения и деление на него всех элементов массива](arrays/avg-of-array-elements/find-min-val-in-arrays/)
- [Деление каждого элемента двумерного массива на среднее арифметическое всех элементов двумерного массива](arrays/avg-of-array-elements/find-avg-of-2d-array/)

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

### Списки

- [Изменение порядка размещения узлов в связном списке на обратный](node-list/)
- [Двусвязный список с функциями добавления, удаления и поиска](doubly-linked-list)
- [Поиск целого числа в однонаправленном кольцевом списке и добавление нового числа](circular-singly-linked-list/)

### Очереди

- [Класс Queue реализующий простую очередь фиксированного размера](simple-queue/)
- [Очередь пациентов реализованная посредством массива и модульной арифметики](queue-patients/)
- [Очередь пациентов реализованная посредством однонаправленного связного списка](queue-patients-linked-list/)

### Деревья

- [Определение глубины узла на бинарном дереве поиска](binary-search-tree/)
- [Бинарное дерево поиска по структуре "Государство"](binary-search-tree-countries/)
- [Формирование из последовательности чисел и вывод бинарного дерева "лежащим на левом боку"](dds/binary-tree-form/)

## Файлы

- [Вывод всех слов, начинающиеся с гласных в один новый файл, а с согласных – в другой. Вывод каждой строки наоборот](txt-files/)
- [Копирование файла заданного аргументом командной строки](console-application-arguments/)

## Вывод

- [Вывод в консоль различными цветами (API-версия)](colored-output-api/)
- [Вывод в консоль различными цветами (CLR-версия)](colored-output-clr)

## Рекурсии

- [Рекурсивный ввод последовательности чисел](recursive-programming/recursion-user-input/)
- [Рекурсивный вывод последовательности чисел](recursive-programming/recursion-print-array/)
- [Рекурсивный перевод числа из десятичной системы счисления в двоичную](recursive-programming/recursion-dec-to-bin/)
- [Функция Аккермана](ackermann-foo/)

## Операторы

- [Функция перегрузки операции «%» для вычисления объединения матриц по вертикали](matrix-operations/)
- [Пользовательский класс String содержащий перегруженную операцию «=»](oop/string/)

## Объектно-ориентированное программирование

- [Изучение механизма простого и множественного наследования](oop/multiple-inheritance/)
- [Класс для вычисления выражения 5arctg(x)-(1/4)*arccos(x)*( (x + 3|x-y| + x*x) / (|x-y|z + x*x) )](oop/arctg-arccos-abs/)
- [Класс с дружественными функциями для вычисления выражения 5arctg(x)-(1/4)*arccos(x)*( (x + 3|x-y| + x*x) / (|x-y|z + x*x) )](oop/arctg-arccos-abs-friend/)
- [Множественное наследование на примере книг](oop/books-multiple-inheritance/)
- [Классы Cashbox (касса) и Person](oop/cashbox/)
- [Абстрактный класс для вывода чисел и его наследники](oop/print-numbers/)

## Шаблоны

- [Класс-контейнер Pair](templates/pair-template/)
- [Перегруженные и шаблонные функции, возвращающие следующую минуту](templates/next-minute/)

## Битовые операции

- [Структура данных для хранения множеств с использованием битовых полей](bit-set/)
- [Класс СТРОКА и его производный класс БИТОВАЯ_СТРОКА](bit-string/)

## Математика

- [Класс Triangle, описывающий треугольник](solution-of-triangles/)
- [Определение, является ли треугольник со сторонами a, b, c равнобедренным](is-isosceles-triangle/)
- [Обратная матрица](matrix/invertible-matrix/)
- [Векторное умножение](vector3/)

### Графы

- [Поиск длин кратчайших путей в ориентированном графе, все дуги которого имеют единичный вес, от заданной вершины до всех остальных](math/graph/len-of-short-path-in-dir-graph/)

## Физика

- [Определение, по какому участку протекает меньший ток](ohms-law/)