C/C++ Ready | Программирование
11.7K subscribers
695 photos
41 videos
333 links
Авторский канал по разработке на C и C++.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
👩‍💻 Делаю игру "Угадай число"

В этом посте я научу тебя создавать простую игру "Угадай число" на C++, полезно для новичков в программировании. В игре используется модуль рандом, скрипт разбит на несколько частей, что является хорошей практикой:

- Генерация случайного числа
- Ввод игрока
- Проверка ответа
- Завершение игры


📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥7🤝4👎1
Знакомы с базовыми принципами работы с векторами?

Сегодня как раз поговорим про работу с векторами в C++.
Вектор — это динамический массив, который позволяет легко добавлять элементы и управлять их количеством.

Для начала создадим пустой вектор:
std::vector<int> numbers;  

Он уже готов к использованию, и его размер изначально равен 0.

Чтобы добавить элементы в конец вектора, используем метод push_back(). Например, добавим числа 10 и 20:
numbers.push_back(10);  
numbers.push_back(20);


Теперь он содержит два элемента. Чтобы получить доступ к ним, можно использовать индексы:
int first = numbers[0];  // Доступ к первому элементу  


Размер вектора можно изменить с помощью метода resize(). Например, чтобы увеличить размер вектора до 5 элементов:
numbers.resize(5);


И если нужно удалить последний элемент, используем метод pop_back():
numbers.pop_back();  


🔥 Правильное использование векторов — это залог удобного и безопасного управления динамическими данными.

Не забывайте следить за размерами коллекции, использовать методы вектора по назначению и избегать обращения к несуществующим элементам.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥8🤝5
This media is not supported in your browser
VIEW IN TELEGRAM
The Algorithms — сайт, который предоставляет обширную коллекцию алгоритмов и структур данных, реализованных на различных языках программирования.

📌 Ссылочка: the-algorithms.com

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥1
👩‍💻 Случайные числа: Что и как?

В C++ существует несколько способов генерации случайных чисел, от устаревших функций до современных библиотек. Рассмотрим интересные подходы, которые помогут тебе гибко генерировать случайные данные:

1. Старый способ: rand() и srand() — функция rand() генерирует псевдослучайные числа, и её начальное состояние можно задавать через srand():
#include <cstdlib>
#include <ctime>

srand(time(0));
int random_number = rand() % 100; // Число от 0 до 99
// Простое решение, но с низкой статистической случайностью


2. Использование std::random_device — генерирует более надежные случайные числа, используя аппаратный генератор (если доступен):
#include <random>

std::random_device rd;
// Генерирует 32-битное случайное число
int random_number = rd();
// Подходит для криптографии, но может быть медленным


3. Настраиваемое распределение — генератор mt19937 (Mersenne Twister) и распределения позволяют контролировать диапазон и тип случайных чисел:
#include <random>

std::mt19937 gen(std::random_device{}());
std::uniform_int_distribution<> dist(1, 10);
int random_number = dist(gen); // Число от 1 до 10
// Гибкий и современный способ генерации чисел


📣 C++ Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍15🤝4
Рок-группа Nanowar of Steel выпустила композицию HelloWorld, где все слова — это код из программы на Java 🤯

Проект под названием HelloWorld,java с песней на языке программирования Java опубликован на GitHub

«Добро пожаловать в первый проект Nanowar Of Steel на GitHub и первый пример песни с исходным кодом. Цель этого проекта — поддержать и обеспечить соблюдение "True Metal Programming", что по сути означает: "пиши код так плохо, чтобы только ты мог его петь", — уточнили в Nanowar of Steel.

▶️ Ну почитать подробнее и глянуть видос можешь тут - послушать имбу

📣 C++ Ready | #новость
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5👎2
😎 Очень интересная статья с Хабра, в которой вы узнаете, как создать простую нейросеть на C++.

В этой статье:
• Логика работы нейросети.
• Обучение нейросети.
• Подсчёт значений нейронов.

🔊 Советую продолжить читать на Habr!


📣 C++ Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6🤝2
👩‍💻 Некоторые полезные функции массивов

В этом посте мы рассмотрим функции и методы C++. Знание таких инструментов позволяет ускорить выполнение повседневных задач в программировании.

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍5🤝2
🤝42👍14😁7👎1
Воркаем с указателями и динамической памятью 😎
#средничкам

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

Для начала создадим указатель на целое число. Это переменная, которая хранит адрес другой переменной в памяти:
int x = 10;    // Обычная переменная
int* ptr = &x; // Указатель, хранящий адрес переменной x


Чтобы получить значение, на которое указывает указатель, используем оператор разыменования *:
std::cout << *ptr;  // Выведет 10


Теперь давайте поговорим о динамической памяти. В C++ можно выделить память во время выполнения программы с помощью оператора new:
// Выделили память для одного целого числа
int* p = new int;

// Присваиваем значение 20 переменной, на которую указывает p
*p = 20;


Не забываем, что память, выделенную с помощью new, нужно освобождать с помощью оператора delete, чтобы избежать утечек памяти:
delete p;  // Освобождаем память


Если вам нужно выделить массив динамически, можно сделать это так:
int* arr = new int[5];  // Массив из 5 элементов
arr[0] = 10; // Присваиваем значение первому элементу


И не забываем освободить память после использования:
delete[] arr;  // Освобождаем память массива


🔥 Такая работа позволит эффективно управлять ресурсами, но требует внимательности, чтобы не допустить ошибок с памятью.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍9🤝2
Что выведет консоль?
Anonymous Quiz
31%
A
51%
B
14%
C
4%
D
👍9🔥3👎1
Чемпионат по EXCEL
Возможно вы не знали, но такое существует 👨‍💻

В этот раз чемпионом стал финансовый аудитор Майкл Джарман из Канады. Он забрал  $5000. Кстати, это уже не первый чемпионатпо такой компетенции

Принимаем участие в этом турнире? ☕️

📣 C++ Ready | #новость
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Cheatography — на данном сайте насчитывается более 6000 шпаргалок по разным языкам, фреймворкам и горячим клавишам. Также там достаточно материала и по C++

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

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥5
Уже сталкивались с обработкой файлов?
#новичкам

Сейчас начнем про это говорить. Обработка файлов позволяет читать и записывать данные, что является важной частью многих приложений.

Первым делом необходимо подключить <fstream>:
#include <fstream>
#include <iostream>
#include <string>


Чтобы прочитать данные из файла, используем std::ifstream. Например, открыть файл и вывести его содержимое на экран:
std::ifstream inputFile("example.txt");
std::string line;

while (std::getline(inputFile, line)) {
std::cout << line << std::endl;
}


Для записи данных в файл используем std::ofstream. Записать строку в файл:
std::ofstream outputFile("output.txt");
outputFile << "Hello, World!" << std::endl;


Также важно проверять, удалось ли открыть файл, чтобы избежать ошибок:
if (!inputFile) {
std::cerr << "Не удалось открыть файл!" << std::endl;
}


🔥 Так что всё это, позволяет сохранять и загружать данные, делая ваши приложения более функциональными

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍8🤝3
😄Нашел для вас полезную статью с Хабра, в которой вы узнаете, как создать программу компьютерного зрения на C++

В этой статье:
• Cоздадите проект в IDE Android Studio.
• Реализуете сессию непрерывного захвата изображений камеры.
• Преобразуете изображения в матрицу OpenCV.

🔊 Советую продолжить читать на Habr!


📣 C++ Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍4🤝1