Публикации по теме 'cpp'


Дан несортированный массив arr[] размера N, поверните его на D элементов (по часовой стрелке).
Получив несортированный массив arr[] размером N , поверните его на D элементов (по часовой стрелке). Если вы это читаете, скорее всего, вы пришли сюда с geeksforgeeks , так как не смогли решить задачу с требуемой временной сложностью. Не волнуйтесь, просто следуйте инструкциям, и я покажу вам и объясню код, который я использовал для этого вопроса. Код #include<bits/stdc++.h> using namespace std; int main(){ int t; cin>>t; while (t>0) {..

Попарно отдельные слагаемые
Попарно отдельные слагаемые Эта проблема была взята из Coursera Специализация по структурам данных и алгоритмам , в частности из Курса Algorithmic Toolbox , неделя 3: Жадные алгоритмы , которые я недавно завершил. Если вы проходите этот курс или планируете пройти этот курс, пожалуйста, не ждите решения, поскольку оно противоречит Кодексу чести и не принесет вам никакой пользы. Введение в проблему Это пример проблемы, в которой подзадача соответствующего жадного..

Ежедневный бит(е) C++ | std::views::чанк
Ежедневный бит (е) C++ # 108, C++ 23 std::views::chunk C++23 std::views::chunk — это простое представление, которое создаст представление поддиапазонов, охватывающих заданное количество элементов каждый. Если диапазон нельзя разделить без остатка, последний поддиапазон будет содержать оставшиеся (и, следовательно, меньше) элементы. #include <vector> #include <ranges> std::vector<int> data{1,2,3,4,5,6,7,8,9}; // Iterate over chunks of size 4 (and one chunk of..

Ежедневный бит(е) C++ | Диапазон для цикла
Ежедневный бит (е) C ++ # 180, цикл range-for как замена необработанных циклов. Цикл на основе диапазона был введен в C++11; однако только с введением представлений C++20 он может заменить почти все экземпляры необработанных циклов for. #include <algorithm> #include <vector> #include <ranges> // C++11: iterate over values in an initializer list for (auto v : {1, 1, 2, 3, 5, 8, 13}) {} // C++20: iterate over [1,10), values 1..9 for (auto v : std::views::iota(1,..

Параллелизм в C++: передача данных между потоками — Promise-Future
Обещание — будущий канал связи Оба метода передачи данных в поток, которые мы обсуждали до сих пор, полезны при создании потока: мы можем либо передавать аргументы в функцию потока, используя шаблоны с переменным числом аргументов, либо мы можем использовать лямбду для захвата аргументов по значению или по ссылке. Следующий пример снова иллюстрирует использование этих методов: #include <iostream> #include <thread> void printMessage(std::string message) {..

Викторина Nec C++ — 0026
В программе есть ошибка времени компиляции. Программа имеет неопределенное/определяемое реализацией поведение. Программа имеет неопределенное поведение. Программа гарантированно выводит:

Вызовы виртуальных функций в конструкторах и деструкторах (C++)
В разных языках программирования поведение виртуальных функций отличается, когда речь идет о конструкторах и деструкторах. Неправильное использование виртуальных функций — классическая ошибка. Разработчики часто неправильно используют виртуальные функции. В этой статье мы обсудим эту классическую ошибку. Теория Я полагаю, что читатель знаком с виртуальными функциями в C++. Давайте сразу к делу. Когда мы вызываем виртуальную функцию в конструкторе, функция переопределяется..