C#写的一个矩阵算法

公司有个同事提出了一个问题,就是用程序来输出一个正方形矩阵,如:

1       2       5       7

3       5       8       13

4       9       12     14

10     11     15     16

 

分析过程如下:

其中的+-号是代表排序。写下这些文字,思路立刻出现,剩下的只是敲键盘。

-1
填充[0,0],

+2
填充[0,1]
填充[1,0]

-3
填充[2,0]
填充[1,1]
填充[0,2]

+4
填充[0,3]
填充[1,2]
填充[2,1]
填充[3,0]

-3(对应第一个3)
填充[3,1]
填充[2,2]
填充[1,3]

+2(对应第一个2)

填充[2,3]
填充[3,2]

-1(对应第一个1)

填充[3,3]

 

 

程序代码

 

 

 

调用表达式:

Matrix.exe [strat] [max] [direction]

    strat:起始值,默认为1;

    max:最大的维数,默认为4;

    direction:排序的方向,true为先横后竖,false反之,默认为ture。

 使用步骤:

在运行中输入:

    路径\Matrix.exe 1,4,true

或者是:

    路径\Matrix.exe 1,4

或者是:

   路径\Matrix.exe 1

或者是:

    路径\Matrix.exe

 

或者直接双击Matrix.exe。

 

 

 

posted @ 2008-07-31 18:26  李中华  阅读(1501)  评论(0编辑  收藏  举报