БлогNot. Как напечатать размерности многомерного массива на C++

Как напечатать размерности многомерного массива на C++

То есть, по массиву вида

int a[2][3][4][5];

программа должна напечатать

2x3x4x5

без ограничений на количество размерностей.

Поможет вот этот небольшой шаблончик (проверенный в консоли Visual Studio 2015) и рекурсия:

#include <iostream> 

template <typename T, size_t N>
void printDimensions(const T(&a)[N]) {
 std::cout << N;
}

template <typename T, size_t N, size_t M>
void printDimensions(const T(&a)[N][M]) {
 std::cout << N << "x";
 printDimensions(a[0]);
}

int main() {
 int a[2][3][4][5];
 printDimensions(a);
 std::cin.get();
 return 0;
}

11.11.2018, 12:37 [1428 просмотров]


теги: числа c++ алгоритм

К этой статье пока нет комментариев, Ваш будет первым