Уютное сообщество С++ разработчиков
4.45K subscribers
94 photos
7 videos
96 links
Изучаем C++.
Ресурсы, обучения, задачи, шпаргалки.
Вопросы с собеседований по C++ и ответы на них.
Задачи и тесты по C++ для тренировки и обучения.
По рекламе: @anothertechrock
Download Telegram
Можно ли перегружать операции для встроенных типов данных?
Anonymous Quiz
63%
Да
37%
Нет
Пора разобраться, как работает lock-free программирование в C++ и как оно влияет на производительность многопоточных приложений. Узнайте, как избежать блокировок и сделать ваше приложение быстрым и отзывчивым!

⚡️ Присоединяйтесь к открытому вебинару 19 августа в 20:00 мск! Вы узнаете о преимуществах и потенциальных проблемах этого подхода по сравнению с традиционными методами синхронизации + ответим на ВСЕ вопросы!

➡️ Зарегистрируйтесь сейчас, чтобы не пропустить бесплатный урок: https://clck.ru/3CVUvV

Кстати, вот еще промокод на 10% скидку курса C++ Developer. Professional: otus10

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача: Напишите программу на C++, которая запрашивает у пользователя целое неотрицательное число N и затем выводит на экран факториал этого числа.

Решение вечером. Пишите ваши варианты в комментариях.
Вариант решения от ChatGPT:

#include <iostream>

int main() {
int N;
unsigned long long factorial = 1; // Используем unsigned long long для больших факториалов

std::cout << "Введите неотрицательное целое число N: ";
std::cin >> N;

if (N < 0) {
std::cout << "Факториал не определен для отрицательных чисел." << std::endl;
} else {
for (int i = 2; i <= N; ++i) {
factorial *= i;
}
std::cout << N << "! = " << factorial << std::endl;
}

return 0;
}

Что скажете?
💡Задача: Игра в прыжки

Условие: Дан целочисленный массив nums. Изначально вы находитесь в первом индексе массива, и каждый элемент массива представляет максимальную длину прыжка в этой позиции.

Верните true, если вы можете добраться до последнего индекса, или false в противном случае.

Пример:
Ввод: nums = [1,3,1,1,4]
Вывод: true
Объяснение: Переходим на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.

Ввод: nums = [3,2,1,0,4]
Вывод: false

Решение:

class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
int maxReach = 0;
for (int i = 0; i < n; i++) {
if (i > maxReach) return false;
maxReach = max(maxReach, i + nums[i]);
}
return true;
}
};

Временное решение: O(N)

Пространственное решение: O(1)
Хотите узнать, как концепция дилеммы заключенного применяется в разработке архитектурных решений?

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

Присоединяйтесь к открытому вебинару 3 сентября в 20:00 мск! Урок создан для архитекторов ПО, руководителей IT-проектов, Fullstack- и Backend-разработчиков.

Спикер Евгений Тюменцев — директор компании по разработке ПО, 20 лет преподает компьютерные дисциплины в ВУЗе: C++, Kotlin, C#, ООП.

Встречаемся в преддверии старта курса «Архитектура и шаблоны проектирования». Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие.
Алгоритм lexicographic_compare

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

Алгоритм принимает 2 диапазона элементов для сравнения, сравнивает элементы попарно, используя оператор < и возвращает true, если первый диапазон меньше второго, или false в противном случае.

Работает для любых типов данных, которые можно сравнивать с помощью <.

#код
Как создавать код, который легко модифицировать и поддерживать?

Узнайте на открытом вебинаре «Практическое руководство по применению SOLID-принципов» 16 сентября в 20:00 мск, где мы разберем:

- основы и значение каждого из SOLID-принципов;
- пошаговый алгоритм применения SOLID для разработки расширяемого и поддерживаемого кода;
- примеры применения SOLID-принципов для решения реальных задач:
- как минимизировать затраты на изменение требований к ПО, следуя SOLID.

Урок для backend и fullstack-разработчиков, архитекторов ПО и начинающих программистов.

Встречаемся в преддверии старта курса «Архитектура и шаблоны проектирования». Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие.
Дано целое число, преобразовать его в римскую цифру

В нашем решении метод intToRoman принимает целое число в качестве аргумента и возвращает его римское представление в виде строки.

Внутри метода intToRoman создаются четыре массива строк, которые содержат римские числа для единиц, десятков, сотен и тысяч. Затем создается строка Roman, которая формируется путем конкатенации соответствующих элементов из каждого массива, используя арифметические операции для определения индексов.

#код
Архитектурные стили Web API — это концептуальные модели, которые определяют, как разрабатывать и взаимодействовать с API, используя определённые правила и принципы.

✔️ Приходите на вебинар, где мы не только разберем популярные стили и протоколы, для создания веб-приложений, но и на практике применим эти технологий.

⚡️ Это занятие важно для всех, кому интересна история развития современных технологий веб-разработки и ASP.NET в частности!

Урок проведет Виктор Дзицкий. Опыт разработки на C# и ASP.NET более 10 лет. А курс C# ASP.NET Core разработчик стартует в октябре. За 6 месяцев вы станете fullstack-специалистом и сможете претендовать на зарплату 180000+ руб.

Регистрируйтесь сейчас:
https://otus.pw/IkWc/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Алгоритмический тренинг.
Решения практических задач
на Python и С++


Автор: Максим Иванов
Дата выхода: 2023

#cpp #python #ru #2O23

Скачать книгу
C# позволяет извлечь информацию о типах данных, которые используются в программе. При помощи нее можно создавать генераторы кода, новые классы, создавать провайдеры в другие системы и многое другое.

Приходите на открытый урок «Использование механизма Reflection для генерации кода». Мы рассмотрим:
1️⃣ Что такое Reflection
2️⃣ Как в reflection нам помогают атрибуты
3️⃣ При помощи reflection мы создадим мини ORM позволяющую создавать SQL код для генерации БД на основе классов (code-first подход)

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

Бонус за регистрацию «Топ 5 ошибок, которые допускают джуны на собеседованиях (и как их избежать)». Записывайтесь: https://clck.ru/3DYXv6
Please open Telegram to view this post
VIEW IN TELEGRAM
Методы программирования
в задачах и примерах
на C/C++


Автор: А. А. Корнев
Дата выхода: 2023

#c #cpp #ru #2O23

Скачать книгу
👍1
Вебинар «Обработка исключений в C#»: Спотыкайтесь, но оставайтесь на ногах!

Приходите, чтобы:
- Разобраться с основами класса System.Exception и его производными
- Научиться применять ключевые конструкции для перехвата исключений
- Открыть для себя лучшие практики обработки ошибок, которые используют профи

Что вас ждёт:
- Узнаете, какие типы исключений существуют в C# и научитесь создавать свои
- Поймёте, когда и почему возникают ошибки, и как их избежать
- И самое важное – узнаете, каких ошибок стоит бояться, а какие можно спокойно игнорировать!

Регистрируйтесь сейчас: https://otus.pw/6txz/

2 главных преимущества курса C# Developer:
Охватывает все ключевые аспекты программирования на C#. Вы научитесь разрабатывать сложные клиент-серверные приложения, что позволит претендовать на позиции уровня Middle.

Вы создадите полноценное приложение с нуля, используя Docker, CI/CD, React или Razor, и современные API технологии (GraphQL, gRPC, SignalR). Это не просто обучение — вы выходите с реальным проектом в портфолио!

Познакомьтесь с преподавателем на уроке: https://otus.pw/6txz/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Starting Out with C++ from Control
Structures to Objects

Автор:
Tony Gaddis
Год издания: 2022

#cpp #en #2O22

Скачать книгу
👍21👌1
Правда С++ замечательный язык?)
😁11👌21👎1
👩‍💻 Удаление элементов из контейнеров с помощью методов erase() и clear()

erase() — удаляет один элемента или диапазон элементов из контейнера, такого как std::vector, std::set, и т.д.

clear() — удаляет все элементы из контейнера, оставляя его пустым. После вызова clear() размер контейнера становится равным нулю.

🔥 — если узнал новое
🤝 если уже пользовался

📣 Уютное сообщество С++ разработчиков | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2🎃1
А вы тоже делаете важный вид, что вы такой просветленный и знаете asm, а на деле просто надеетесь на то, что понимание работы этих закорючек само собой появится у вас в голове?
This media is not supported in your browser
VIEW IN TELEGRAM
sololearn — сайт, на котором вы найдете интерактивный курс по C++ как для начинающих, так и для опытных разработчиков. Также на сайте есть встроенная нейросеть, которая разберёт ваши неправильные ответы.

📌 Ссылочка: sololearn.com

📣 Уютное сообщество С++ разработчиков | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👌2
Beginning C++ Compilers

Авторы: Ademi B. Ospanova,
Berik I. Tuleuov
Дата выхода: 2024

#cpp #en #2O24

Скачать книгу
👌2👍1