ImitableLine
ImitableLine

Reputation: 45

How to set random numbers in a matrix between two numbers using loops

I want to randomly generate two matrix arrays so I can later add them up and store them into a third matrix, how would I go about doing this? Nearly totally lost, here's what I have so far.

    using System;

namespace question2_addingrandommatrice
{
    class Program
    {
        static void Main(string[] args)
        {
            Random random = new Random();

            int[,] newarray = new int[3, 3];

            for (int i = 0; i < 3; i++)
            {
                

                for (int j = 0; j < 3; j++)
                {
                    int ran2 = random.Next(-10, 10);
                    int ran1 = random.Next(-10, 10);
                    newarray[i, j] = ran1, ran2;

                }
            }
            

            Console.ReadKey();
        }
    }
}

Upvotes: 0

Views: 36

Answers (2)

Vivek Nuna
Vivek Nuna

Reputation: 1

You can simply do this.

Random random = new Random();

int[,] newarray = new int[3, 3];

for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 3; j++)
        newarray[i, j] = random.Next(-10, 10); ;
}

Upvotes: 0

TheGeneral
TheGeneral

Reputation: 81543

You are nearly there, you just needed one random.Next

Here is a method that does it for you

private static int[,] GenerateRandomMatrix(int x, int y)
{
   var array = new int[x, y];

   for (int i = 0; i < array.GetLength(0); i++)
      for (int j = 0; j < array.GetLength(1); j++)
         array[i, j] = random.Next(-10, 10);
   return array;
}

Add pepper and salt to taste

Usage

// 3*3 random matrix

var matrix = GenerateRandomMatrix(3,3);

Additional Resources

Multidimensional Arrays (C# Programming Guide)

Upvotes: 1

Related Questions