#include <iostream>
template<typename T, std::size_t N, std::size_t M>
void increment_2D(T (&a)[N][M])
{
for(std::size_t n = 0; n < N; ++n)
for(std::size_t m = 0; m < M; ++m)
++a[n][m];
}
int main()
{
int a[3][3] = {1,2,3,4,5,6,7,8,9};
increment_2D(a);
for(auto& r: a) {
for(int n: r)
std::cout << n << ' ';
std::cout << '\n';
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8dHlwZW5hbWUgVCwgc3RkOjpzaXplX3QgTiwgc3RkOjpzaXplX3QgTT4Kdm9pZCBpbmNyZW1lbnRfMkQoVCAoJmEpW05dW01dKQp7CiAgICBmb3Ioc3RkOjpzaXplX3QgbiA9IDA7IG4gPCBOOyArK24pCiAgICAgICAgZm9yKHN0ZDo6c2l6ZV90IG0gPSAwOyBtIDwgTTsgKyttKQogICAgICAgICAgICArK2Fbbl1bbV07Cn0KCmludCBtYWluKCkKewogICAgaW50IGFbM11bM10gPSB7MSwyLDMsNCw1LDYsNyw4LDl9OwogICAgaW5jcmVtZW50XzJEKGEpOwogICAgZm9yKGF1dG8mIHI6IGEpIHsKICAgICAgICBmb3IoaW50IG46IHIpCiAgICAgICAgICAgc3RkOjpjb3V0IDw8IG4gPDwgJyAnOwogICAgICAgIHN0ZDo6Y291dCA8PCAnXG4nOwogICAgfQp9Cgo=