按行读取矩阵元素
本文关键字:元素 读取 | 更新日期: 2023-09-27 18:16:57
我正在写一个矩阵的c#程序。当我从控制台输入矩阵输入时,每个元素都在单独的行中。但是,我想在一行中读取行元素。
这是我的代码
Console.WriteLine("Enter the matrix");
int n= Convert.ToInt32(Console.ReadLine());
int[ , ] matrix=new int[n,n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
matrix[i,j]=Convert.ToInt32(Console.ReadLine());
// Console.Write("'t");
}
}
present I am getting like
1 23
4但是,我想要像
1 24
3
帮助我。
如果您想读取一行中的一行,您可以要求用户输入空格分隔的值,如1 2
, 3 4
,并读取如下
Console.WriteLine("Enter the matrix size");
int n = Convert.ToInt32(Console.ReadLine());
//add size and other validation if required
int[,] matrix = new int[n, n];
Console.WriteLine("Enter your values separated by space.");
for (int i = 0; i < n; i++)
{
var values = (Console.ReadLine().Split(' '));
for (int j = 0; j < n; j++)
{
matrix[i, j] = int.Parse(values[j]);
}
}
//to write
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
您可以输入整行并执行以下操作:
for(int i=0; i<n; i++){
var input = Console.ReadLine().Split(' ').Select(t => int.Parse(t)).ToArray();
for (int j = 0 ; j < n ; j++){
matrix[i, j] = input[j];
}
}
Console.WriteLine("Enter the matrix");
int n= Convert.ToInt32(Console.ReadLine());
int[ , ] matrix=new int[n,n];
for(int i=0; i<n; i++){
string line = Console.ReadLine();
string[] elements = line.Split(' ');
for(int j=0; j<n || j < elements.Length; j++){
matrix[i,j]=Convert.ToInt32(elements[j]);
}
}
请看同样的问题
在你的情况下:
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j + 2){
string input = Console.ReadLine();
string[] split = input.Split(' ');
int firstNumber = Int32.Parse(split[0]);
int secondNumber = Int32.Parse(split[1]);
matrix[i,j] = firstNumber ;
matrix[i,(j+1)] = secondNumber ;
}
}