12

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 },

        };

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?

5
  • 2
    What do you mean by "transponent"? It's not a term I've come across before. Commented Aug 21, 2013 at 22:17
  • Can you define transponent? Commented Aug 21, 2013 at 22:17
  • Perhaps he means transpose? en.wikipedia.org/wiki/Transpose Commented Aug 21, 2013 at 22:18
  • EDIT: sorry guys, i meant transpose Commented Aug 21, 2013 at 22:20
  • See also: stackoverflow.com/a/2893367/2630934 They talk about multi dimensional arrays, but to transpose an array of [x,y], you just have to make a new array with dimensions [y,x] and assign to each individual value accordingly. Commented Aug 21, 2013 at 22:33

2 Answers 2

18

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();
}

Creating new array:

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];
Sign up to request clarification or add additional context in comments.

1 Comment

yeeah ok now I see what I did wrong.. But if I want to save the transpose matris into an new array?
10

You just need to do this:

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

4 Comments

oh, posted too late! It's pretty much the same solution that @MarcinJuraszek posted :)
I would say this is the right answer. People just rush into up-voting.
@ataravati It's exactly the same as mine :) Just variables names replaced.
@MarcinJuraszek It is exactly the same, but you have switched the variables in the original question, which may give the wrong impression (to the beginners) that two sets of loops are required to achieve this. And, your comment is actually misleading too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.