打印数组对角线路径数组 [英] print array diagonal routes array

查看:86
本文介绍了打印数组对角线路径数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果数组的数量为

 { 1 ,我会将此代码设为打印数组, 2  3  4 ,< span class =code-digit> 5 ,
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25 }



此代码的输出为1,2,6,3,7,11,4,6,12,16,5,9,13,17,21,10,14,18,21,15 ,19,23,20,24,25

我想改变我的代码是从25 20 24 15 19 23 10 14 18 22 5 9 13 17 21 4 8 12 16 3 7 11 2 6 1

  int  [,] p =  new   int  [ 5  5 ]; 
int sum = 1 ;
for int i = 1 ; i < = 5 ; i ++)

{
for int j = 1 ; j < = 5 ; j ++)
{
p [i,j ] =总和;
richTextBox1.Text + = p [i,j] .ToString();
总和++;

}
}

int C;

int R = 1 ;

for int i = 1 ; i < = 5 ; i ++)
{

C = i;

for int r = 1 ; r < = i; r ++)
{

输出=输出+ p [r, C];

C--;

}
}

richTextBox2.Text + = Output.ToString();

for int i = 2 ; i > = 5 ; i ++)
{
R = i;
for (C = 5 ; C > ; = i; C--)
{
输出=输出+ p [R,C];

R ++;

}
}

richTextBox2.Text + = Output.ToString();

解决方案

  string 输出=  ; 
int [,] p = new int [ 5 5 ];
int sum = 1 ;
for int i = 0 ; i < 5 ; i ++)
{
for int j = 0 ; j < 5 ; j ++)
{
p [i,j] = sum;
richTextBox1.Text + = p [i,j] .ToString();
总和++;

}
}


for int i = 4 ; i > = 0 ; i--)
{

for int C = 0 ; C + i< 5& C< 5; C ++)
{

输出=输出+ + p [i + C,4-C];


}
}
for int i = 3 ; i > = 0 ; i--)
{


for int j = 0 ; j < 4 && i-j> = 0 ; j ++)
{
输出=输出+ + p [j,i -j];
}
}

richTextBox2.Text + = Output.ToString();
// 如果您对解决方案有任何疑问,请询问


Hi,I make this code to print array if the number of array is

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


the out put of this code is 1,2,6,3,7,11,4,6,12,16,5,9,13,17,21,10,14,18,21,15,19,23,20,24,25
Iwant to change in this my code to be the out put begging from 25 20 24 15 19 23 10 14 18 22 5 9 13 17 21 4 8 12 16 3 7 11 2 6 1

        int [,] p = new int [5,5];
        int sum = 1;
        for (int i = 1; i <= 5; i++)

        {
            for (int j = 1; j <= 5; j++)
            {
                p[i, j] = sum;
                richTextBox1.Text += p[i, j].ToString();
                sum++;

            }
        }

         int C;

         int R=1;

         for (int i = 1; i <= 5; i++)
         {

             C = i;

             for (int r = 1; r <= i; r++)
             {

                 Output = Output + p[r, C];

                 C--;

             }
         }

             richTextBox2.Text += Output.ToString();

for (int i = 2; i >= 5; i++)
{
          R = i;
    for (C = 5; C >= i; C--)
    {
        Output = Output + p[R, C];

        R++;

       }
    }

  richTextBox2.Text += Output.ToString();

解决方案

string Output = "";
   int[,] p = new int[5, 5];
   int sum = 1;
   for (int i = 0; i < 5; i++)
   {
       for (int j = 0; j < 5; j++)
       {
           p[i, j] = sum;
           richTextBox1.Text += p[i, j].ToString();
           sum++;

       }
   }


   for (int i = 4; i >=0; i--)
   {

       for (int C = 0; C+i<5&& C<5; C++)
       {

           Output = Output +" "+ p[i+C, 4-C];


       }
   }
   for (int i = 3; i >= 0; i--)
   {


           for (int j = 0; j < 4 &&i-j>=0; j++)
           {
               Output = Output + " " + p[j,i -j];
           }
       }

   richTextBox2.Text += Output.ToString();
   //If you have any qustion on the Solution please ask


这篇关于打印数组对角线路径数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆