Program to print array as spiral C++

Here is the code : Debug, Run and Learn


#include <iostream>
#include <conio.h>

#define kColumn 4
using namespace std;


void printArray_Sprial(int rows, int arr[][kColumn])
{
  cout << "\n\nSpiral Array Printing\n";

  for (int rowindex = 0; rowindex < rows; ++rowindex)
  {
    int start = rowindex % 2 == 0 ? 0 : kColumn - 1;

    while (true)
    {
      cout << arr[rowindex][start] << "  ";

      (rowindex % 2 == 0) ? ++start : --start;

      if (start < 0 || start > kColumn - 1) break;
    }
    cout << endl;
  }
}

void printArray(int rows, int arr[][kColumn])
{
  cout << "Regular Array Printing\n";

  for (int rowindex = 0; rowindex < rows; ++rowindex)
  {
    for (int colIndex = 0; colIndex < kColumn; ++colIndex)
    {
      cout << arr[rowindex][colIndex] << "  ";
    }
    cout << endl;
  }
}

void main()
{
  int arr[][kColumn] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };

  printArray(4, arr);
  printArray_Sprial(4, arr);

  _getch();
}


Output

Regular Array Printing 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Spiral Array Printing 1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13
Thanks

Comments

Popular Posts