【发布时间】:2022-01-20 23:56:53
【问题描述】:
我在 C# 中有一个多维数组,我通过捕获来自用户的输入来分配矩阵的索引,我正在尝试实现一个条件结构,它可以让我在单独的矩阵上打印每个行行,例如,如果我的数组是 A 并且 A 的维度为 3 x 3,则代码在第一行打印前三个元素,在下一行打印接下来的三个元素,依此类推。我正在尝试实现这一点,因为它会更容易将结构理解为普通矩阵,并且还可以使用错误的操作构建整个矩阵类。
代码
class Matrix{
static int[,] matrixA;
static void Main(string[] args){
Console.WriteLine("Enter the order of the matrix");
int n = Int32.Parse(Console.ReadLine());
matrixA = new int[n, n];
//assigning the matrix with values from the user
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
matrixA[i, j] = Int32.Parse(Console.ReadLine());
}
}
//the code below tries to implement a line break after each row for the matrix
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if( (n-1-i) == 0)
{
Console.Write("\n");
}
else
{
Console.Write(matrixA[i, j].ToString() + " ");
}
}
}
}
}
我如何修改我的代码,以便如果数组有 9 个元素并且它是一个方阵,那么每个包含三个元素的行都打印在一行上。
【问题讨论】:
-
就像你有一个嵌套的 for 循环来捕获输入一样,我会使用嵌套的 for 循环来产生输出。
-
@StayOnTarget,我遍历
i并检查当前行是否在那里结束并中断? -
与输入循环完全一样...有两个循环,每个循环都指向
n。 -
@StayOnTarget,立即试用
-
@StayOnTarget,我没有想法,它不起作用,它在同一行打印 4 个数字。如果为真,我使用
if(n-1-i)==0检查并打印换行符