Given a two dimensional array, print its elements in spiral format.// Assuming HSIZE and VSIZE are the horizontal and vertical sizes of the array
void PrintArrayInSpiralFormat(int (*arr)[HSIZE])
{
int v_index = 0;
int h_index = 0;
int v_size = VSIZE;
int h_size = HSIZE;
while (v_size > 1 && h_size > 1)
{
while (h_index < h_size)
cout << arr[v_index][h_index++] << " ";
h_index--;
v_index++;
while (v_index < v_size)
cout << arr[v_index++][h_index] << " ";
v_index--;
h_index--;
while (h_index >= HSIZE - h_size)
cout << arr[v_index][h_index--] << " ";
h_index++;
v_index--;
v_size--;
while (v_index >= VSIZE - v_size)
cout << arr[v_index--][h_index] << " ";
v_index++;
h_index++;
h_size--;
}
} |
|