Vivek Dragon
Vivek Dragon

Reputation: 2248

Dynamically storing matrix values in C#

I'm trying to build an application in c#.net

Here I am having two single-dimensional arrays of same size For example, I have matrices M and N like the below structure:

       M[0] M[1] M[2] M[3] M[4]
 N[0]   
 N[1]
 N[2]
 N[3]
 N[4]

Here I have assigned my values of M[0].... & N[0]...... to them so that I get a matrix like:

    5     6     4     8
4

8

7

2

Note: I made this values to generate dynamically. I have succeeded till this step.

But I like to store the values in another array (maybe a jagged array or something else) in 2x2 matrix in this format:

      A[0]  A[1]
 B[0]  5     4       (this is the values of M[0] and N[0])

 B[1]  6     4       (this is the values of M[1] and N[0])

 ..............
 B[4]  5     8       (this is the values of M[0] and N[1])

When the first row of N[0] is completed it has to continue with the next row. I just need some for how to implement this in C#??

Upvotes: 6

Views: 4188

Answers (3)

A2 NightWing
A2 NightWing

Reputation: 36

For Storing dynamically you should know the basics of 2d and 3d

Refer here

2-D arrays: dotnetperls.com/2d-array

multidimensional arrays: msdn.microsoft.com/en-us/library/2yd9wwz4(v=vs.71).aspx

Upvotes: 2

8bitcat
8bitcat

Reputation: 2234

stackoverflow.com/questions/594853/dynamic-array-in-c-sharp Checkout thread above. Or check source below.

msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx

Upvotes: 1

Boomer
Boomer

Reputation: 1478

You can't late-assign values to arrays. I would recommend that you use List<List<int>>, here is an example:

List<List<int>> val = new List<List<int>>();
List<int> M = new List<int>() { 1, 2, 3, 4, 5 };
List<int> N = new List<int>() { 5, 4, 3, 2, 1 };

foreach (int m in M)
{
    foreach (int n in N)
    {
        val.Add(new List<int> { m, n });
    }
}

Upvotes: 1

Related Questions