en
Feedback
Библиотека задач по C++ | тесты, код, задания

Библиотека задач по C++ | тесты, код, задания

Open in Telegram

Задачи и тесты по C++ для тренировки и обучения. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7a480301 Для обратной связи: @proglibrary_feeedback_bot

Show more
5 457
Subscribers
+124 hours
-27 days
-2330 days
Posts Archive
Что произойдёт при запуске?
Anonymous voting

Освойте легендарный язык программирования на онлайн-курсе Skillbox «Профессия Разработчик на C++ с нуля». И получите гарантию
Освойте легендарный язык программирования на онлайн-курсе Skillbox «Профессия Разработчик на C++ с нуля». И получите гарантию трудоустройства! За 7 месяцев вы научитесь: — Программировать на C++. Изучите синтаксис, циклы, условия и функции языка. — Работать с базами данных. Освоите язык SQL. — Использовать Git. Будете работать с распределённой системой контроля версий. — Понимать принципы объектно-ориентированного программирования. Поймёте, как работать с объектами и классами. — Разрабатывать микросервисы. Будете разрабатывать сложные программы из разных независимых компонентов. — Создавать игры для UE4. Научитесь создавать арканоиды и шутеры для движка Unreal Engine. Узнать подробнее о курсе и получить скидку до 50% можно здесь: https://epic.st/PBbtAP Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хо
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

Каким будет результат следующего фрагмента кода на C++?
Anonymous voting

📋 Задача Простые числа Создайте функцию, которая находит количество простых чисел до заданного целого числа 📚 Подход к решениюРешето Эратосфена на Си How Many «Prime Numbers» Are There? (edabit)

Согласно C++ 11, спецификатор noexcept может быть применен к
Anonymous voting

📋 Задача Как найти палиндром Целое число является палиндромом, если оно читается одинаково как в прямом, так и в обратном направлении. Например, 121 является палиндромом, а 123 — нет 🔍 Условие • Вернуть true, если x является палиндром и false в противном случае 📚 Подход к решению • Чтобы понять палиндром это или нет необходимо развернуть число • Это можно сделать с помощь деления на 10 • При целочисленном делении у нас остаётся число на одну цифру меньше (справа) и в остатке как раз эта цифра • Цифру из остатка сохраняем • После того как не осталось цифр в числе собираем новую из остатков (тех цифр которые сохранили Palindrome Number (leetcode) #junior #algorithms #tasks 💡Решение class Solution { public: bool isPalindrome(int x) { if (x < 0) { return false; } long long reversed = 0; long long temp = x; while (temp != 0) { int digit = temp % 10; reversed = reversed * 10 + digit; temp /= 10; } return (reversed == x); } };

📋 Windowing method (Метод скользящего окна) Метод скользящего окна — это подход к решению популярного типа алгоритмических з
📋 Windowing method (Метод скользящего окна) Метод скользящего окна — это подход к решению популярного типа алгоритмических задач 🔍 Принцип работы • Определите размер окна (количество элементов данных в окне) • Передвигайте окно по последовательности данных • Вычисляйте интересующие вас значение

👩‍💻 Что должен знать востребованный разработчик на С++? Расскажет Александр Ключев — ведущий программист в «Новые облачные
👩‍💻 Что должен знать востребованный разработчик на С++? Расскажет Александр Ключев — ведущий программист в «Новые облачные технологии». Приходите на бесплатный практический урок «C++20 динамическое выделение памяти во время компиляции» от OTUS. На вебинаре вы узнаете: - как работает динамическое выделение памяти на этапе компиляции в С++20; - зачем это нужно и где можно использовать. 🤝 Встречаемся 15 февраля в 20:00 мск в рамках курса «C++ Developer. Professional». Доступна рассрочка на обучение! ➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/pr2T/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 Erid 2VtzqvcVnCY

Ханойская башня • Есть три башни. Цель игры состоит в том, чтобы переместить все диски на третью башню, но вы не можете поместить диск большего размера на диск меньшего размера • Необходимо создать функцию, которая принимает число дисков в качестве аргумента и возвращает минимальное количество шагов, необходимое для завершения игры Подсказки • Можно использовать библиотеку <cmath> • Можно использовать функцию возведения в степень pow Tower of Hanoi (edabit) #middle #algorithms #tasks Решение #include <cmath> int towerHanoi(int discs) { return pow(2, discs) — 1; }

Различие локальной переменной и поля класса с одинаковым именем Указатель this может быть полезен в случае, когда локальная переменная в методе имеет то же самое имя, что и поле объекта: void set(int x) { this->x = x; } Здесь в методе set мы присваиваем полю класса x значение локальной переменной this. Чтобы различить поле класса x и локальную переменную с тем же именем мы используем запись this->x при обращении к полю класса.

Задача Перемещение нулей 🔍 Условие • Необходимо перенести все нули в конец массива, не меняя порядок следования ненулевых элементов • Сделать всё надо in-place (на том же самом массиве) 📚 Подход к решению • Воспользоваться методом двух указателей. Когда один указывает на предыдущий элемент, а другой на следующий. Если предыдущий нулевой, то менять со следующим #middle #algorithms #tasks 💡Решение class Solution { public: void moveZeroes(vector& nums) { for (size_t i = 0, j = 0; i < nums.size(); ++i) { if (nums[i]) swap(nums[i], nums[j++]); } } };

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

Поиск дубликатов Задача 217 Contains Duplicate с leetcode 🔍 Условие • Учитывая целочисленный массив nums, вернуть true, если хотя бы одно значение появляется как минимум дважды в массиве, и вернуть false, если каждый элемент уникален 📚 Подход к решению • Из-за того что уникальных элементов меньше или равно исходному размеру входного массива, то можно просто сравнить эти величины #middle #algorithms #tasks 💡Решение class Solution { public: bool containsDuplicate(vector& nums) { set testSet(nums.begin(), nums.end()); return testSet.size() < nums.size(); } };

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

Перемешивание массива Задача 1470 Shuffle the Array с leetcode 🔍 Условие Дан массив nums, состоящий из 2n элементов в виде [x1,x2,...,xn,y1,y2,...,yn]. Нужно вернуть массив в виде [x1,y1,x2,y2,...,xn,yn] 📚 Подход к решению • Из-за того что элемент x и y лежат друг от друга всегда на одинаковом расстоянии, то можно воспользоваться просто арифметической операцией сложения для поиска пары #junior #algorithms #tasks 💡Решение class Solution { public: vector shuffle(vector& nums, int n) { vector result; for (int i = 0; i < n; ++i) { result.push_back(nums[i]); result.push_back(nums[i + n]); } return result; } };

equal_range Функция equal_range используется для нахождения диапазона элементов в упорядоченном контейнере, которые имеют опр
equal_range Функция equal_range используется для нахождения диапазона элементов в упорядоченном контейнере, которые имеют определенное значение. Она возвращает пару итераторов, представляющих начало и конец диапазона, в котором находятся элементы с указанным значением. Это полезно, когда вы хотите найти все элементы с определенным значением в упорядоченном контейнере, таком как std::set или std::map. Прототип функции equal_range выглядит следующим образом: std::pair equal_range(const Key& key); Где: iterator — тип итератора контейнера. Key — значение, для которого нужно найти диапазон.

🔍 Равенство трех значений Создайте функцию, которая принимает три целочисленных аргумента (a, b, c) и возвращает количество целых чисел, которые имеют одинаковое значение 📚 Подход к решению • Предполагается использование условных конструкций (if) Equality of 3 Values #junior #algorithms #tasks 💡Решение int equal(int a, int b, int c) { int count = 0; if (a == b || a == c) count = 2; if (b == c) if (count < 2) count = 2; else count = 3; return count;} }