#include <stdio.h>
// Reflect image horizontally
void reflect(int height, int width, int image[height][width])
{
int temp;
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width / 2; j++)
{
temp = image[i][j];
image[i][j] = image[i][width - j - 1];
image[i][width - j - 1] = temp;
}
}
return;
}
void print(int height, int width, int image[height][width])
{
for (int row = 0; row < height; row++) {
for (int col = 0; col < width; col++) {
printf("%2d ", image
[row
][col
]); }
}
}
#define ROWS 5
#define COLS 6
int main(void) {
int image[ROWS][COLS];
for (int row = 0, i = 1; row < ROWS; row++) {
for (int col = 0; col < COLS; col++) {
image[row][col] = i++;
}
}
print(ROWS, COLS, image);
reflect(ROWS, COLS, image);
print(ROWS, COLS, image);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyBSZWZsZWN0IGltYWdlIGhvcml6b250YWxseQp2b2lkIHJlZmxlY3QoaW50IGhlaWdodCwgaW50IHdpZHRoLCBpbnQgaW1hZ2VbaGVpZ2h0XVt3aWR0aF0pCnsKICAgIGludCB0ZW1wOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaGVpZ2h0OyBpKyspCiAgICB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB3aWR0aCAvIDI7IGorKykKICAgICAgICB7CiAgICAgICAgICAgIHRlbXAgPSBpbWFnZVtpXVtqXTsKICAgICAgICAgICAgaW1hZ2VbaV1bal0gPSBpbWFnZVtpXVt3aWR0aCAtIGogLSAxXTsKICAgICAgICAgICAgaW1hZ2VbaV1bd2lkdGggLSBqIC0gMV0gPSB0ZW1wOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybjsKfQoKdm9pZCBwcmludChpbnQgaGVpZ2h0LCBpbnQgd2lkdGgsIGludCBpbWFnZVtoZWlnaHRdW3dpZHRoXSkKewoJZm9yIChpbnQgcm93ID0gMDsgcm93IDwgaGVpZ2h0OyByb3crKykgewoJCWZvciAoaW50IGNvbCA9IDA7IGNvbCA8IHdpZHRoOyBjb2wrKykgewoJCQlwcmludGYoIiUyZCAiLCBpbWFnZVtyb3ddW2NvbF0pOwoJCX0KCQlwdXRzKCIiKTsKCX0KfQoKI2RlZmluZSBST1dTIDUKI2RlZmluZSBDT0xTIDYKaW50IG1haW4odm9pZCkgewoJaW50IGltYWdlW1JPV1NdW0NPTFNdOwoJZm9yIChpbnQgcm93ID0gMCwgaSA9IDE7IHJvdyA8IFJPV1M7IHJvdysrKSB7CgkJZm9yIChpbnQgY29sID0gMDsgY29sIDwgQ09MUzsgY29sKyspIHsKCQkJaW1hZ2Vbcm93XVtjb2xdID0gaSsrOwoJCX0KCX0KCXByaW50KFJPV1MsIENPTFMsIGltYWdlKTsKCXJlZmxlY3QoUk9XUywgQ09MUywgaW1hZ2UpOwoJcHV0cygiIik7CglwcmludChST1dTLCBDT0xTLCBpbWFnZSk7CglyZXR1cm4gMDsKfQo=