概述
M*N的矩阵形如:
1 6 7 12
2 5 8 11
3 4 9 10
算法分析如下:
通过观察可以发现,矩阵一共4列,分别为0,1,2,3列,在每一行中,都有:
(Col 0到Col1的距离)+(Col 1到Col2的距离) = 2*M ,
设行坐标为i,则i 取值为:i={0,1,2};
上面的等式记作:Odd(i)+Even(i) = 2*M
显然,Even(i) ={1,3,5} =2*i + 1
Odd(i) = 2*M-(2*i +1)
算法如下:
/// <summary>
/// M*N,:
/// 1 6 7
/// 2 5 8
/// 3 4 9
/// </summary>
/// <param name="RowCount"></param>
/// <param name="ColCount"></param>
static void PrintArray(int RowCount,int ColCount)
{
int data;
int intOddSpan;
int intEvenSpan;
for (int rowIndex = 0; rowIndex < RowCount; rowIndex++)
{
data = rowIndex + 1;
intOddSpan = 2 * RowCount - 1 - 2 * rowIndex;//
intEvenSpan = 2 * rowIndex + 1;//
Console.Write(string.Format("{0} ", data));
for (int colIndex = 1; colIndex < ColCount; colIndex++)
{
//
if (colIndex % 2 == 1)
{
data += intOddSpan;
}
else
{
data += intEvenSpan;
}
Console.Write(string.Format("{0} ", data));
}
Console.WriteLine();
}
}
转载于:https://www.cnblogs.com/max21011985/archive/2009/12/10/1621110.html
最后
以上就是平常小笼包为你收集整理的打印一个M*N的矩阵的全部内容,希望文章能够帮你解决打印一个M*N的矩阵所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复