我正在学习C#,现在我在多维数组上。我想编写一个从控制台读取矩阵并打印的程序:
因此,在接下来的 [行] 行中,我将为每一列获取元素,并用逗号和空格分隔。我对总和做了一个foreach,但是我不明白如何将元素插入矩阵。如果您能帮助我,我将不胜感激!
int[] dimensions = Console.ReadLine()
.Split(", ", StringSplitOptions.RemoveEmptyEntries)
.Select(int.Parse)
.ToArray();
int rows = dimensions[0];
int columns = dimensions[1];
int[,] matrix = new int[rows,columns];
for (int i = 0; i < rows; i++)
{
int[] numbers = Console.ReadLine()
.Split(", ", StringSplitOptions.RemoveEmptyEntries)
.Select(int.Parse)
.ToArray();
//I do not know how to add the elements here
}
int sum = 0;
foreach (var element in matrix)
{
sum += element;
}
答案 0 :(得分:2)
您可以使用Linq Sum()
计算所有行的总和
当您已经遍历输入数据的每一行时,可以分配一个称为sum =0
的临时变量,并为每一行计算该行所有数字的总和,并将其添加到临时变量即{{1 }}。
sum
答案 1 :(得分:1)
使用两个索引访问二维数组中的元素:
for (int i = 0; i < rows; i++)
{
int[] numbers = Console.ReadLine()
.Split(", ", StringSplitOptions.RemoveEmptyEntries)
.Select(int.Parse)
.ToArray();
for (int j = 0; j < columns; j++)
{
matrix[i,j]=numbers[j];
}
}
int sum = 0;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
sum += matrix[i,j];
}
}