#include <iostream> using std::cin; using std::cout; using std::endl; using std::string; using std::begin; using std::end; int main() { int ia[3][4]; size_t cnt=0; for (auto &row:ia){ for (auto &col:row){ col=cnt; ++cnt; } } constexpr size_t rowCnt=3,colCnt=4; for (size_t i=0;i != rowCnt; ++i){ for (size_t j=0;j != colCnt;++j){ cout << ia[i][j] <<endl; } } for (int(*p)[4] = ia;p != ia+3;p++){ for (int *q = *p;q != *p+4;q++){ cout << *q << endl; } } for (int(*p)[4] = begin(ia);p != end(ia);p++){ for (int *q = begin(*p);q != end(*p); q++){ cout << *q <<endl; } } for (int (&p)[4]:ia){ for (int &q:p){ cout << q << endl; } } return 0; }