Click here to Skip to main content
15,921,028 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Here is my code, I cannot seem to print it as a square, instead I get a list of random integers. Any help appreciated a lot.

C#
public static void setSqArray(int [,] squareArray, int value, int value2)
        {
            int[,] newSquare;

            newSquare = new int[value, value2];

            for (int i = 0; i < value; i++)
                for (int j = 0; j < value2; j++)
                    newSquare[i, j] = (i + 1) * (j + 1);

             Console.WriteLine("The square array looks like this:");

             Random rnd = new Random();
             for (int i = 0; i < value; i++)
             {
                 for (int j = 0; j < value2; j++)
                 {
                     newSquare[i, j] = rnd.Next(1,10);
                     Console.WriteLine(newSquare[i, j] + "\t" );
                 }
             }
             Console.ReadLine();
Posted
Comments
John C Rayan 17-Feb-15 8:02am    
The modified code is given in solution 3
BillWoodruff 17-Feb-15 9:38am    
Why are you filling up the array twice and "throwing away" the first set of values ?

That's because you are printing each 'square' on a new line.

Use Console.Write instead, and in the outer loop use a Console.WriteLine() to start a new row.
 
Share this answer
 
Comments
Bawwla 17-Feb-15 7:52am    
I see, fixed it, thank you very much.
Rob Philpott 17-Feb-15 8:04am    
You are welcome!
Try this:
C#
public static void dumpArray(int[,] array)
{
  for (int r = 0; r < array.GetLength(0); ++r)
  {
    for (int c = 0; c < array.GetLength(1); ++c)
      Console.Write("{0,4}", array[r, c]);
    Console.WriteLine();
  }
}

public static int[,]  setSqArray( int value, int value2)
{
  int[,] newSquare;

  newSquare = new int[value, value2];

  for (int i = 0; i < value; i++)
    for (int j = 0; j < value2; j++)
      newSquare[i, j] = (i + 1) * (j + 1);

  return newSquare;
}

public static int [, ]  setRandomSqArray( int value, int value2)
{
  int[,] newSquare;
  newSquare = new int[value, value2];
  Random rnd = new Random();
  for (int i = 0; i < value; i++)
    for (int j = 0; j < value2; j++)
      newSquare[i, j] = rnd.Next(1, 10);

  return newSquare;
}


static void Main(string[] args)
{
  int[,] arr;

  arr = setSqArray( 5, 5);
  Console.WriteLine("The square array looks like this:");
  dumpArray(arr);

  arr = setRandomSqArray(3, 4);
  Console.WriteLine("Now it looks like this:");
  dumpArray(arr);
}
 
Share this answer
 
C#
public static void setSqArray(int[,] squareArray, int value, int value2)
       {
           int[,] newSquare;

           newSquare = new int[value, value2];

           for (int i = 0; i < value; i++)
               for (int j = 0; j < value2; j++)
                   newSquare[i, j] = (i + 1) * (j + 1);

           Console.WriteLine("The square array looks like this:");

           Random rnd = new Random();
           for (int i = 0; i < value; i++)
           {
               for (int j = 0; j < value2; j++)
               {
                   newSquare[i, j] = rnd.Next(1, 10);
                   Console.Write(newSquare[i, j] + "\t");
               }
               Console.WriteLine("\n");
           }
           Console.ReadLine();

       }
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900