В этом посте я научу тебя создавать простую игру "Угадай число" на C++, полезно для новичков в программировании. В игре используется модуль рандом, скрипт разбит на несколько частей, что является хорошей практикой:
- Генерация случайного числа
- Ввод игрока
- Проверка ответа
- Завершение игры
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++.
Вектор — это динамический массив, который позволяет легко добавлять элементы и управлять их количеством.
Для начала создадим пустой вектор:
Он уже готов к использованию, и его размер изначально равен 0.
Чтобы добавить элементы в конец вектора, используем метод
Теперь он содержит два элемента. Чтобы получить доступ к ним, можно использовать индексы:
Размер вектора можно изменить с помощью метода
И если нужно удалить последний элемент, используем метод
🔥 Правильное использование векторов — это залог удобного и безопасного управления динамическими данными.
Не забывайте следить за размерами коллекции, использовать методы вектора по назначению и избегать обращения к несуществующим элементам.
📣 C++ Ready | #практика
Сегодня как раз поговорим про работу с векторами в 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();
🔥 Правильное использование векторов — это залог удобного и безопасного управления динамическими данными.
Не забывайте следить за размерами коллекции, использовать методы вектора по назначению и избегать обращения к несуществующим элементам.
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
// Гибкий и современный способ генерации чисел
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 | #новость
Проект под названием HelloWorld,java с песней на языке программирования Java опубликован на GitHub
«Добро пожаловать в первый проект Nanowar Of Steel на GitHub и первый пример песни с исходным кодом. Цель этого проекта — поддержать и обеспечить соблюдение "True Metal Programming", что по сути означает: "пиши код так плохо, чтобы только ты мог его петь", — уточнили в Nanowar of Steel.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5👎2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍5🤝2
Воркаем с указателями и динамической памятью 😎
#средничкам
Сегодня поговорим о том, как в C++ работать с указателями и динамической памятью. Это важная тема для каждого, кто хочет глубже понять управление памятью и оптимизацию работы программ.
Для начала создадим указатель на целое число. Это переменная, которая хранит адрес другой переменной в памяти:
Чтобы получить значение, на которое указывает указатель, используем оператор разыменования
Теперь давайте поговорим о динамической памяти. В C++ можно выделить память во время выполнения программы с помощью оператора
Не забываем, что память, выделенную с помощью
Если вам нужно выделить массив динамически, можно сделать это так:
И не забываем освободить память после использования:
🔥 Такая работа позволит эффективно управлять ресурсами, но требует внимательности, чтобы не допустить ошибок с памятью.
📣 C++ Ready | #практика
#средничкам
Сегодня поговорим о том, как в 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; // Освобождаем память массива
🔥 Такая работа позволит эффективно управлять ресурсами, но требует внимательности, чтобы не допустить ошибок с памятью.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍9🤝2
👍9🔥3👎1
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
Уже сталкивались с обработкой файлов?
#новичкам
Сейчас начнем про это говорить. Обработка файлов позволяет читать и записывать данные, что является важной частью многих приложений.
Первым делом необходимо подключить
Чтобы прочитать данные из файла, используем
Для записи данных в файл используем
Также важно проверять, удалось ли открыть файл, чтобы избежать ошибок:
🔥 Так что всё это, позволяет сохранять и загружать данные, делая ваши приложения более функциональными
📣 C++ Ready | #практика
#новичкам
Сейчас начнем про это говорить. Обработка файлов позволяет читать и записывать данные, что является важной частью многих приложений.
Первым делом необходимо подключить
<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;
}
🔥 Так что всё это, позволяет сохранять и загружать данные, делая ваши приложения более функциональными
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍8🤝3
В этой статье:
• Cоздадите проект в IDE Android Studio.
• Реализуете сессию непрерывного захвата изображений камеры.
• Преобразуете изображения в матрицу OpenCV.
🔊 Советую продолжить читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍4🤝1