Библиотека задач по C++ | тесты, код, задания
الذهاب إلى القناة على Telegram
Задачи и тесты по C++ для тренировки и обучения. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7a480301 Для обратной связи: @proglibrary_feeedback_bot
إظهار المزيد5 786
المشتركون
-55924 ساعات
-6 7327 أيام
-14 14430 أيام
أرشيف المشاركات
⚙️ Задача Design Parking System
Для каждого элемента массива посчитать количество элементов меньше и вывести результат в виде массива
Пример
Input: nums = [8,1,2,2,3]
Output: [4,0,1,1,3]
👉Design Parking System(leetcode)
#tasks #middle
Решение
class Solution {
public:
vector smallerNumbersThanCurrent(vector& nums) {
vector ans;
vector nums_count(101);
for (const int num : nums){
++nums_count[num];
}
for (int i = 1; i <= 100; ++i) {
nums_count[i] += nums_count[i — 1];
}
for (const int num : nums) {
ans.push_back(num == 0 ? 0 : nums_count[num — 1]);
}
return ans;
}
};
🔮 С помощью какого методов можно приостановить текущий поток?
⚙️ Задача Even or Odd: Which is Greater?
Создайте функцию, определяющую, больше ли сумма всех чётных четных цифр, чем сумма всех нечетных цифр в строке чисел
Если сумма нечетных цифр больше суммы четных, верните «Odd is greater than Even»
Если сумма четных чисел больше суммы нечетных, верните «Even is greater than Odd»
Если сумма четных и нечетных чисел равна, верните «Even and Odd are the same»
👉Even or Odd: Which is Greater?
#junior
❗Решение
std::string evenOrOdd(std::string str) {
int sumOdd = 0;
int evenOdd = 0;
for (auto ch : str) {
int num = ch — '0';
if (num % 2 == 0) {
evenOdd += num;
}
else {
sumOdd += num;
}
}
if (sumOdd == evenOdd) {
return «Even and Odd are the same»;
}
else if (sumOdd > evenOdd) {
return «Odd is greater than Even»;
}
else {
return «Even is greater than Odd»;
}
}
❗Где проблема проблема в данном коде?
Аргумент для sizeof доджен быть *object, потому что в коде подставляется размер указателя а не структуры
🧿 Задача Простая пара
Дан массив целых чисел arr и целое число n. Найдите из данного массива пару чисел [x, y] такую, что x * y = n. Если пара не найдена, вернуть [0, 0]
Подсказка
• Может помочь сортировка
👉A Simple Pair (edabit)
#middle #tasks
Решение
std::pair simplePair(std::vector arr, int n) {
std::sort(arr.begin(), arr.end());
for (int i = 0; i < arr.size()-1; ++i) {
for (int j = i+1; j < arr.size(); ++j) {
if (arr[i] * arr[j] == n) {
return std::make_pair(arr[i], arr[j]);
}
}
}
return std::make_pair( 0, 0 );
}
🫵 Соберите свой первый проект на С++ и добавьте его в портфолио
👉 На бесплатном практическом уроке от OTUS и Карины Дорожкиной — ведущего разработчика в Kaspersky.
На вебинаре:
- разберем понятие единицы трансляции;
- проследим за ошибками компиляции и линковки, разберёмся в их причинах;
- создадим статическую библиотеку и подключим её при помощи CMake;
- обсудим разницу между статической библиотекой и динамической.
⏰ Занятие пройдёт 5 марта в 20:00 мск и будет приурочено к старту курса «Специализация C++ Developer». Доступна рассрочка на обучение!
👉 Зарегистрируйтесь прямо сейчас, чтобы занять место: https://otus.pw/Giq5/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru Erid 2VtzqxiBaoL
🧨 Что выведется при выполнении программы??
⚙️ Search in a Binary Search Tree
В задаче требуется реализовать поиск по бинарному дереву
Подход к решению
- Реализуется с помощью рекурсивного алгоритма
- Сначала обходим левое поддерево, а затем правое
#tasks #middle
Решение
class Solution {
public:
TreeNode* searchBST(TreeNode* root, int val) {
if (!root)
return nullptr;
if (root->val == val)
return root;
if (val < root->val)
return searchBST(root->left, val);
else
return searchBST(root->right, val);
}
};
🔮 Задача Sum of v0w3ls
Создайте функцию, которая принимает строку и возвращает сумму гласных, причем для каждой согласной нужно прибавлять своё число (A->4, E->3, I->1, O->0)
👉Sum of v0w3ls (edabit)
#tasks #junior
Решение
int sumOfVowels(std::string str) {
int count = 0;
for (char ch : str) {
ch = std::tolower(ch);
switch (ch) {
case 'a': count += 4; break;
case 'e': count += 3; break;
case 'i': count += 1; break;
case 'o': break;
}
}
return count;
}
🧨 Что выведется при выполнении программы??
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
