如何将2D数组打印为矩阵? (方阵) [英] How do I print a 2D array as a matrix? (square array)

查看:74
本文介绍了如何将2D数组打印为矩阵? (方阵)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码,我似乎无法将其打印为正方形,而是获得随机整数列表。任何帮助都很受欢迎。



<前一个=c#> 公共 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( 方形数组如下所示:) ;

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

解决方案

那是因为你打印每个新行上的'square'。



改为使用Console.Write,在外循环中使用Console.WriteLine()开始新行。


试试这个:

  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 ,< span class =code-keyword> 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;
}


静态 void Main(< span class =code-keyword> string
[] args)
{
int [,] arr;

arr = setSqArray( 5 5 );
Console.WriteLine( 方形数组如下所示:);
dumpArray(arr);

arr = setRandomSqArray( 3 4 );
Console.WriteLine( 现在它看起来像这样:);
dumpArray(arr);
}


  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( 方形数组如下所示:) ;

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

}


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.

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

解决方案

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.


Try this:

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


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

       }


这篇关于如何将2D数组打印为矩阵? (方阵)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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