Что написать на C++ для практики?

Для практики программирования на C++ существует множество различных задач, которые могут помочь вам понять и оттачивать основы языка C++ и его возможности. Вот несколько предложений:

1. Напишите программу, которая принимает от пользователя два числа и выводит на экран их сумму, разность, произведение и частное.

Пример:

#include <iostream>

int main() {
    int a, b;
    std::cout << "Введите два числа: ";
    std::cin >> a >> b;
    
    int sum = a + b;
    int difference = a - b;
    int product = a * b;
    float quotient = static_cast<float>(a) / b;
    
    std::cout << "Сумма: " << sum << std::endl;
    std::cout << "Разность: " << difference << std::endl;
    std::cout << "Произведение: " << product << std::endl;
    std::cout << "Частное: " << quotient << std::endl;
    
    return 0;
}

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

Пример:

#include <iostream>

int factorial(int n) {
    int result = 1;
    for (int i = 1; i <= n; ++i) {
        result *= i;
    }
    return result;
}

int main() {
    int n;
    std::cout << "Введите число: ";
    std::cin >> n;
    
    int result = factorial(n);
    std::cout << "Факториал: " << result << std::endl;
    
    return 0;
}

3. Напишите программу, которая проверяет, является ли заданная строка палиндромом.

Пример:

#include <iostream>
#include <string>
#include <algorithm>

bool isPalindrome(const std::string& str) {
    std::string reversedStr = str;
    std::reverse(reversedStr.begin(), reversedStr.end());
    return str == reversedStr;
}

int main() {
    std::string str;
    std::cout << "Введите строку: ";
    std::cin >> str;
    
    bool palindrome = isPalindrome(str);
    if (palindrome) {
        std::cout << "Строка является палиндромом" << std::endl;
    } else {
        std::cout << "Строка не является палиндромом" << std::endl;
    }
    
    return 0;
}

4. Разработайте программу, которая сортирует массив чисел в порядке возрастания с использованием алгоритма сортировки "пузырьком".

Пример:

#include <iostream>

void bubbleSort(int arr[], int size) {
    for (int i = 0; i < size - 1; ++i) {
        for (int j = 0; j < size - i - 1; ++j) {
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int arr[] = {5, 3, 4, 1, 2};
    int size = sizeof(arr) / sizeof(arr[0]);
    
    bubbleSort(arr, size);
    
    std::cout << "Отсортированный массив: ";
    for (int i = 0; i < size; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;
    
    return 0;
}

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