一个矩阵算法,用C#语言1 789612543 21 22 23 24 2520 7 8 9 1019 6 1 2 1118 5 4 3 1217 16 15 14 13

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 00:33:40

一个矩阵算法,用C#语言1 789612543 21 22 23 24 2520 7 8 9 1019 6 1 2 1118 5 4 3 1217 16 15 14 13
一个矩阵算法,用C#语言
1

789
612
543

21 22 23 24 25
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13

一个矩阵算法,用C#语言1 789612543 21 22 23 24 2520 7 8 9 1019 6 1 2 1118 5 4 3 1217 16 15 14 13
这是螺旋矩阵,
方法:GetSpiralMatrix() ;
参数row:矩阵的大小(任意正整数)
楼主的问题,分别输入 1,3,5即可打印出来.

 
 
下面的思路就是先定位到矩阵中央,然后顺时针方向旋转:
static void Main(string[] args)
{
    int[,] arr = GetSpiralMatrix(5);
    for (int i = 0; i < arr.GetLength(0); i++)
    {
        for (int j = 0; j < arr.GetLength(1); j++)
        {
            Console.Write(arr[j, i] + "\t");
        }
        Console.WriteLine();
    }
    Console.Read();
}
//螺旋矩阵(由内向外)
static int[,] GetSpiralMatrix(int row)
{
    int[,] intArr = new int[row, row];
    int x = row % 2 == 0 ? row / 2 - 1 : row / 2;//计算初始x,y坐标在正中间
    int y = x;
    int m = 1;//初始腰围...
    int n = 0;
    string type = "R";
    for (int i = 1; i <= row * row; i++)
    {
        intArr[x, y] = i;
        switch (type)
        {
            case "R"://向右    
                x++; n++;
                if (m == n) { type = "D"; n = 0; }
                break;
            case "D"://向下(腰围加粗)    
                y++; n++;
                if (m == n) { m++; type = "L"; n = 0; }
                break;
            case "L"://向左    
                x--; n++;
                if (m == n) { type = "U"; n = 0; }
                break;
            case "U"://向上(腰围加粗)  
                y--; n++;
                if (m == n) { m++; type = "R"; n = 0; }
                break;
        }
    }
    return intArr;
}
 

一个矩阵算法,用C#语言1 789612543 21 22 23 24 2520 7 8 9 1019 6 1 2 1118 5 4 3 1217 16 15 14 13 用C#计算矩阵平均值用C#计算一个矩阵中每一列的平均数(矩阵中的数不用多) 计算机的算法写一个程序,用C#语言,打印出100的阶乘(1*2*3*…*100)的精确数值结果(不能是浮点数). 矩阵的秩的算法(不是一个数学计算的问题)用C#写一个线性代数的计算器,结果发现 矩阵的秩我不会求,各位高手有没有什么思路啊,要求是可以求任意阶的(1-10)的秩.在现有的知识方面我 怎样将一个512*512的矩阵分为8*8的小矩阵块,用c语言实现,或者算法思路 用C#求dijkstra算法求最短路径 代数余子式 C# 伴随矩阵我想用C#编写一个矩阵类,其中的一个函数是求矩阵的伴随矩阵,我是想利用代数余子式来求伴随矩阵,可是如何利用程序来实现呢?请高手帮忙! 如何使用C# 语言实现螺旋加上蛇形的矩阵动态生成?当n=4时,矩阵如此1 2 3 411 9 10 515 12 8 616 14 13 7其中螺旋部分是1 2 3 49 10 58 67蛇形部分是1115 1216 14 13大家注意这里,我的意思是用c# 语言实现螺旋 求三阶矩阵A的逆矩阵C语言算法程序 C# 的小波算法?怎么用c# 写小波算法,怎么用于小波变换? C#克里金插值算法 用C#编写一个数组 长度一百 然后插入1-100之间的数字 不能重复重复时提示,大侠们 我是小菜鸟捏~是c#不是c语言哦~ 怎样用C语言代码写出矩阵的n次方算法? 如何用c#语言编写魔方矩阵 16阶以内就行, 用C#语言编写:输入一个正整数n,程序打印出该整数的所有约数(不包括1和该整数本身)使用for循环语句 用C#语言 输入一个整数n,输出1到n之间的全部整数.123456七上八下910这样的效果. 用C#语言编写:输出1-100之间偶数和奇数的和 用C#语言求出1到100之间奇数数字之和?