Как записать данные в двумерный массив, чтобы не вводить каждый элемент по отдельности с#
Необходимо ввести значения в двумерный массив с большим количеством строк и столбцов. Нужно чтобы ввод осуществлялся в строку через пробел и каждый элемент присваивался своему значению, только на реализацию подобной идеи не хватает ни мозгов, ни терпения.
Например: инициализировали массив 3 строки 2 столбца
Ввод:10 20 30 40 50 60
Вывод
10 20
30 40
50 60
Console.WriteLine("Enter the number of pairs");
int column = int.Parse(Console.ReadLine()); //столбцы
int row = 2; //строки
int[,] mas = new int[column, row];
string[] str_arr;
for (int i = 0; i < column; ++i)
{
str_arr = (Console.ReadLine()).Split(' ');
for (int j =0; j<row ;j++)
Console.WriteLine("{0} {1} {2}",i,j,str_arr[j]);
mas[i, j] = Convert.ToInt32(str_arr[j]);
}
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Ну принцип, наверное, правильный, только вы напутали много чего. Без проверки количества элементов будет примерно так:
Console.WriteLine("Enter the number of pairs");
int rows = int.Parse(Console.ReadLine()); //строки
int columns = 2; //столбцы
int[,] mas = new int[rows, columns];
string[] str_arr;
int k = 0;
//ввод строки до цикла
//если строк будет много (из примера непонятно), понадобится ещё цикл
str_arr = (Console.ReadLine()).Split(' ');
for (int i = 0; i < rows; ++i)
{
for (int j =0; j<columns ;j++) {
Console.WriteLine("{0} {1} {2}",i,j,str_arr[k]);
mas[i, j] = Convert.ToInt32(str_arr[k]);
k++;
}
}