10 способов печати элементов массива с пробелами в C++

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

Метод 1: использование цикла и объекта cout
Пример кода:

#include <iostream>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    for (int i = 0; i < size; i++) {
        std::cout << arr[i] << " ";
    }
    return 0;
}

Метод 2: использование цикла for на основе диапазона
Пример кода:

#include <iostream>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    for (const auto& element : arr) {
        std::cout << element << " ";
    }
    return 0;
}

Метод 3: использование алгоритма copy() с итератором вывода
Пример кода:

#include <iostream>
#include <algorithm>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    std::copy(arr, arr + size, std::ostream_iterator<int>(std::cout, " "));
    return 0;
}

Метод 4: использование цикла while
Пример кода:

#include <iostream>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    int i = 0;
    while (i < size) {
        std::cout << arr[i] << " ";
        i++;
    }
    return 0;
}

Метод 5: использование цикла Do-While
Пример кода:

#include <iostream>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    int i = 0;
    do {
        std::cout << arr[i] << " ";
        i++;
    } while (i < size);
    return 0;
}

Метод 6: использование алгоритма накопления()
Пример кода:

#include <iostream>
#include <numeric>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    int sum = std::accumulate(arr, arr + size, 0);
    std::cout << sum << " ";
    return 0;
}

Метод 7: использование цикла for на основе диапазона и соединение с помощью строки
Пример кода:

#include <iostream>
#include <sstream>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    std::ostringstream oss;
    for (const auto& element : arr) {
        oss << element << " ";
    }
    std::cout << oss.str();
    return 0;
}

Метод 8: использование лямбда-функции и алгоритма for_each()
Пример кода:

#include <iostream>
#include <algorithm>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    std::for_each(arr, arr + size, [](int element) {
        std::cout << element << " ";
    });
    return 0;
}

Метод 9: использование цикла for на основе диапазона и пользовательского разделителя
Пример кода:

#include <iostream>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    for (const auto& element : arr) {
        std::cout << element << ", ";
    }
    return 0;
}

Метод 10: использование функции join() библиотеки Boost
Пример кода: