Apr 19, 2011

print a matrix in spiral order

void printSpiral(int a[][10], int rows, int columns)
{
int count = rows * columns;

int columnMax = columns-1;
int columnMin = 0;
int rowMax = rows - 1;
int rowMin = 0;

while(count)
{
for(int i=columnMin; i<=columnMax; i++, count--)
cout << a[rowMin][i] << "->";

rowMin++;

for(int i=rowMin; i<=rowMax; i++, count--)
cout << a[i][columnMax] << "|";

columnMax--;

for(int i=columnMax; i>=columnMin; i--, count--)
cout << a[rowMax][i] << "<-";

rowMax--;

for(int i=rowMax; i>=rowMin; i--, count--)
cout << a[i][columnMin] << "^";

columnMin++;

}
}

No comments: