皎y月 2021-07-05 14:36 采纳率: 100%
浏览 42
已采纳

对角线的回形矩阵怎么输出

img

img

  • 写回答

5条回答 默认 最新

  • Iawfy_ 2021-07-06 15:21
    关注
       public static int[,] myMainStep(int n)
            {           
                int[,] mymainRect = new int[n, n];
                int count = 0;
                int step = n;
                //对角线
                for (int m = 0; m < n; m++)
                {
                    count++;
                    mymainRect[m, m] = count;
                }
                step--;
                for (int i = n - 1; i > 0; i--)
                {
                    //左下 往左               
                    for (int j = 0; j < step; j++)
                    {
                        count++;
                        mymainRect[i, i - j - 1] = count;
                    }
                    step--;
                    //左下往上
                    for (int k = 0; k < step; k++)
                    {
                        count++;
                        mymainRect[i - k - 1, i - step - 1] = count;
                    }
                    step++;
                    //右上往右
                    for (int p = 0; p < step; p++)
                    {
                        count++;
                        mymainRect[n - i - 1, n - i - 1 + p + 1] = count;
                    }
                    step--;
                    //右上往下
                    for (int q = 0; q < step; q++)
                    {
                        count++;
                        mymainRect[n - i - 1 + q + 1, n - i - 1 + step + 1] = count;
                    }
                    step--;
                }
                return mymainRect;
            }

    这样

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料