одну функцию ?
template<typename T>
void open(T& mas) {
std::cout << "{ ";
for (auto& i : mas) {
if constexpr (std::rank_v <T> > 1)
open(i);
else
std::cout << i << " ";
}
std::cout << "} ";
}
template<typename T>
void print(T& mas) {
open(mas);
std::cout << "\n";
}
int main() {
int mas[] = { 17, 36, 77, 84, 26, 51, 34, 18, 72, 24 };
int arr[2][2] = { {1, 2}, {3, 4} };
print(mas);
print(arr);
return 0;
}
можно, улучшайте. мы не протестуем
ну как минимум разделить ответственность)
он разворачивает массив, как бы его открывает, а print вообще костыль я не хотел делать костыль чтобы избавиться от рекурсии и пометить это в конец прогрмамы по этому придумал такой костыль
Обсуждают сегодня