Уютное сообщество С++ разработчиков
783 subscribers
80 photos
7 videos
82 links
Изучаем C++.
Ресурсы, обучения, задачи, шпаргалки.
Вопросы с собеседований по C++ и ответы на них.
Задачи и тесты по C++ для тренировки и обучения.
По рекламе: @anothertechrock
Download Telegram
А как вы пришли к программированию на плюсах?
Как это изменило вашу жизнь?
😁3
Считаем единички
#задачки

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

Вроде бы простая и популярная задача: посчитать количество единиц в битовом представлении числа. Уверен, что большинство из вас решали эту задачу.

Однако популярный подход - не самый эффективный, элегантный и интересный.

Благо существует множество непопулярных, но очень интересных решений! О них я расскажу в завтра в ответном посте.

А пока предлагаю вам порешать эту задачку. Если вы знаете какие-то нетривиальные решения, то расскажите о них в комментах тоже.

А чтобы умудренным опытом людям было немного интереснее, давайте ограничим условия. Задачу надо решить либо за константное время(в среднем), либо за наименьшее количество строчек. Выражения вне цикла for разделенные символом ; считаются разными строчками.

int count_ones(unsigned num) {
// Here your code
}


Challenge yourself. Stay cool.
1
🎲 Тест «Тест по C++»
Пройдите тестирование, проверьте свои знания с помощью онлайн тест-викторины C++, подготовьтесь к экзаменам по C++.
🖊 15 вопросов · 30 сек
👍1🥱1
📚 Основное определение:
Поинтеры — это переменные, которые хранят адреса других переменных в памяти. Они активно используются в системном программировании, разработке встраиваемых систем и при работе с динамической памятью. Главная особенность — прямой доступ к памяти и эффективная работа с данными.

🔍 Ключевые концепции:

1️⃣ Объявление поинтера: int *ptr — создает указатель на целое число
2️⃣ Получение адреса: &variable — оператор для получения адреса переменной
3️⃣ Разыменование: *ptr — доступ к значению по адресу в указателе
4️⃣ Арифметика указателей: ptr++ перемещает указатель на следующий элемент
5️⃣ Связь с массивами: array[i] эквивалентно *(array + i)
6️⃣ Динамическая память: malloc() и free() для управления памятью

💻 Практический пример:

int array[] = {1, 2, 3, 4, 5}; 
int *ptr = array;

for(int i = 0; i < 5; i++) {
printf(«%d «, *ptr); ptr++;
}
// Вывод: 1 2 3 4 5


📎 Дополнительные ресурсы:

👉 Полное руководство по указателям в C
1👍1👏1
А вам когда-нибудь снился С++ в кошмарах?)
👍1
Что выведет консоль?
Anonymous Quiz
27%
A
64%
B
8%
C
0%
D
Программирование на
языке C++. Практический курс

Авторы:
Огнева М., Кудрина Е.
Год издания: 2022

#cpp #ru

Скачать книгу
Как думаете, кто и когда отправит С++ на покой?
Или он будет жить вечно?
👍1
Modern C++ for Absolute Beginners

Автор:
Slobodan Dmitrović
Год издания: 2023

#cpp #en #2O23

Скачать книгу
А за сколько вы выучили С++?
🤔 Какая сложность работы с map и unordered_map?

В map все основные операции выполняются за O(log n), так как используется сбалансированное дерево. В unordered_map вставка, удаление и поиск обычно выполняются за O(1), но могут ухудшаться до O(n), если произойдет много коллизий.


Ставь 👍 если знал ответ, 🔥 если нет
Please open Telegram to view this post
VIEW IN TELEGRAM
Методы программирования в
задачах и примерах на C/C++

Авторы: А. А. Корнев,
В. Д. Валединский
Дата выхода: 2023

#cpp #ru

Скачать книгу
🤔 Как работает map и unordered_map?

map использует структуру красно-черного дерева, поддерживая упорядоченность элементов, тогда как unordered_map применяет хеш-таблицу, распределяя элементы по бакетам на основе их хеша.


Ставь 👍 если знал ответ, 🔥 если нет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👾2🌚1
🤔 Какие контейнеры позволяют вставку в начало контейнера?

Контейнеры, такие как list и deque, позволяют вставку в начало за O(1). В vector вставка в начало возможна, но требует O(n), так как все элементы сдвигаются вправо.


Ставь 👍 если знал ответ, 🔥 если нет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Подборка книг по C++ на русском языке.
Скачивайте и читайте.

Думай как программист. C++ версия
Автор: Антон Спрол

Решение задач на современном C++
Автор: Мариус Бансила

Qt 5.10. Профессиональное программирование на C++
Автор: Шлее М.

Язык программирования С++. Краткий курс
Автор: Страуструп Бьярне

C++17 STL. Стандартная библиотека шаблонов
Автор: Галовиц Яцек

Реактивное программирование на C++
Автор: Питер Абрахам

Самоучитель "Уроки по C++"
Автор: Ravesli

Параллельное программирование на современном языке C++
Автор: В.Ю.Винник

Идиомы и паттерны проектирования в современном С++
Автор: Федор Г. Пикус

C++ для инженерных и научных расчетов
Автор: Питер Готтшлинг

Пишите ваши предложения по книгам - мы найдем и разместим.
1