我正在为矩阵编写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");
}
}
目前我变得喜欢
1
2
3
4
但是,我想要
1 2
3 4
帮助我。
答案 0 :(得分:0)
您可以输入整行并执行以下操作:
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];
}
}
答案 1 :(得分:0)
filename = 'num.txt';
delimiterIn = '\t';
text = importdata(filename,delimiterIn)
t=1:10;
plot(t,text);
答案 2 :(得分:0)
如果您想在一行中读取一行,可以要求用户输入空格分隔的值,例如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();
}
答案 3 :(得分:0)
在你的情况下:
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 ;
}
}