#include <iostream>
using namespace std;
#define row_size 4
void print_matrix(int matrix[][row_size], int col_size)
{
for(int i = 0; i < col_size; i++) {
for(int j = 0; j < row_size; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
}
int main() {
// your code goes here
int data[][row_size] = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12} };
int col_size = sizeof(data) / sizeof(data[0]);
print_matrix(data, col_size);
int index_shift = row_size / 2 + row_size % 2;
for(int i = 0; i < col_size; i++)
{
for(int j = 0; j < row_size/2; j++)
{
int swap = data[i][j];
data[i][j] = data[i][ index_shift + j];
data[i][index_shift + j] = swap;
}
}
cout << "--------------" << endl;
print_matrix(data, col_size);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSByb3dfc2l6ZSA0Cgp2b2lkIHByaW50X21hdHJpeChpbnQgbWF0cml4W11bcm93X3NpemVdLCBpbnQgY29sX3NpemUpCnsKCWZvcihpbnQgaSA9IDA7IGkgPCBjb2xfc2l6ZTsgaSsrKSB7CgkJZm9yKGludCBqID0gMDsgaiA8IHJvd19zaXplOyBqKyspIHsKCQkJY291dCA8PCBtYXRyaXhbaV1bal0gPDwgIiAiOwoJCX0KCQljb3V0IDw8IGVuZGw7Cgl9Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IGRhdGFbXVtyb3dfc2l6ZV0gPSB7IHsxLDIsMyw0fSwgezUsNiw3LDh9LCB7OSwxMCwxMSwxMn0gfTsKCWludCBjb2xfc2l6ZSA9IHNpemVvZihkYXRhKSAvIHNpemVvZihkYXRhWzBdKTsKCXByaW50X21hdHJpeChkYXRhLCBjb2xfc2l6ZSk7CgkKCWludCBpbmRleF9zaGlmdCA9IHJvd19zaXplIC8gMiArIHJvd19zaXplICUgMjsKCQoJZm9yKGludCBpID0gMDsgaSA8IGNvbF9zaXplOyBpKyspIAoJewoJCWZvcihpbnQgaiA9IDA7IGogPCByb3dfc2l6ZS8yOyBqKyspCgkJewoJCQlpbnQgc3dhcCA9IGRhdGFbaV1bal07CgkJCWRhdGFbaV1bal0gPSBkYXRhW2ldWyBpbmRleF9zaGlmdCArIGpdOwoJCQlkYXRhW2ldW2luZGV4X3NoaWZ0ICsgal0gPSBzd2FwOwoJCX0KCX0KCWNvdXQgPDwgIi0tLS0tLS0tLS0tLS0tIiA8PCBlbmRsOwoJcHJpbnRfbWF0cml4KGRhdGEsIGNvbF9zaXplKTsKfQ==