我如何移调多维数组? [英] How do I Transpose a multi dimensional array?

查看:120
本文介绍了我如何移调多维数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我觉得这可能是一个非常简单的问题,但我一直没能弄明白呢。如果我有一个2维数组,像这样:

I think this might be a pretty simple question, but I haven't been able to figure it out yet. If I've got a 2-dimensional array like so:

int[,] matris = new int[5, 8] { 
       { 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,26,27,28,29,30,31,32 },
       { 33,34,35,36,37,38,39,40 },

        };

和一个for循环,像这样的:

and a for loop, like this:

  for (int r = 0; r < 5; r++)
        {

            for (int j = 0; j < 8; j++)
                Console.Write("{0} ", matris[r, j]);

            Console.WriteLine();
        }



所以用这个代码,我打印出多维数组。 ?可是我怎么打印出数组的转置

So with this code I am printing out the multi dimensional array. But how do I print out a transpose of the array?

推荐答案

只要改变你的循环与对方:

Just change your loops with each other:

for (int j = 0; j < 8; j++)
{
    for (int r = 0; r < 5; r++)
        Console.Write("{0} ", matris[r, j]);

    Console.WriteLine();
}

创建新的数组:

var newArray = new int[8, 5];
for (int j = 0; j < 8; j++)
    for (int r = 0; r < 5; r++)
        newArray[j, r] = matris[r, j];

这篇关于我如何移调多维数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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