如何将2D数组打印为矩阵? (方阵) [英] How do I print a 2D array as a matrix? (square array)
问题描述
这是我的代码,我似乎无法将其打印为正方形,而是获得随机整数列表。任何帮助都很受欢迎。
<前一个=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屋!