// SnakeMatrix.cpp : Defines the entry point for the console application. // Create by Xianyi.Ye, May 4,2010 #include "stdafx.h" #include <iostream.h> /* Question: Print a Sanke Matrix as following i/j 1 2 3 4 5 6 1 1 2 9 10 25 26 2 4 3 8 11 24 27 3 5 6 7 12 23 28 4 16 15 14 13 22 28 5 17 18 19 20 21 30 6 36 35 34 33 32 31 Explain: "i" is the line number of the matrix. "j" is the column number of the matrix. */ void showMatrix(int n) { for(int i=1 ; i<=n ; i++) { for(int j=1 ; j<=n ; j++) { if(i<=j)//upper triangular matrix { if(j%2==0) //j==even number cout<<(j-1)*(j-1)+i<<" " ; else //j==odd number cout<<(j-1)*(j-1)+2*j-i<<" " ; } if(i>j) //lower triangular matrix { if(i%2==0) //i==even number cout<<(i-1)*(i-1)+2*i-j<<" " ; else //i==odd number cout<<(i-1)*(i-1)+j<<" " ; } } cout<//create new line. } } int main(int argc, char* argv[]) { showMatrix(6) ; return 0; }
Result: