Как выполнить 2d массивы? - PullRequest
0 голосов
/ 05 мая 2019

Первая задача: мне нужно сделать матрицу неизвестного размера. Вторая задача: которая содержит растущие числа от нуля до конца моей матрицы. Я не могу выполнить вторую часть задачи.

     {
Console.WriteLine(" Type the row size into the Console ");
   int row =Convert.ToInt32(Console.ReadLine());
Console.WriteLine(" Type the column size into the Console ");
   int column = Convert.ToInt32(Console.ReadLine());
int[,] matrix = new int[row, column];
     for (int i = 0; i < row; i++)
{
       for (int x = 0; x < column; x++)
  {
       Console.Write(matrix[i,x]);
  }
 }
 Console.ReadLine();
}

Я бы хотел получить что-то вроде этого: Введите размер строки в консоли: 2 Введите размер столбца в консоли: 2

Выход: 0,1,2,3

Ответы [ 4 ]

0 голосов
/ 05 мая 2019

Добро пожаловать в переполнение стека, приятель: D

То, что вы сделали в строке:

int[,] matrix = new int[row, column];

Вы объявили своеобразный многомерный массив C # (зубчатые массивы Google для различных типов матриц вC #) и инициализировал его значениями по умолчанию для типа данных int, то есть 0. Итак, теперь у вас есть массивы с нулями.

Вы можете индексировать в массив с синтаксисом вроде matrix[i,x], где i относится к строке, а x относится к столбцу.Теперь вам нужно присвоить значения полям в массиве.

matrix[i,x] = i + x;

Это не решение вашей проблемы, но, поскольку это определенно домашнее задание, вам нужно подумать об этом самостоятельно.

Попробуйте подумать, что означают эти значения индексации (i и x) - попробуйте представить матрицу (нарисуйте ее!) И посмотрите, что произойдет, когда вы увеличите i?Или x?В каком направлении вы двигаетесь в матрице, которую вы нарисовали?

Тогда подумайте, как увеличение значений индекса может помочь вам пройти весь массив.Хорошо!Теперь вы знаете, как обходить весь массив, посещая каждое поле, подумайте, как сделать все значения монотонно увеличивающимися на единицу.

Подсказка : используйте некоторую переменную счетчика ИЛИ подумайте о комбинации значений i и x, которые дадут вам тот же эффект (это не магические вещи, а обычные переменные)вы можете использовать разные значения на каждой итерации).

Желаю вам удачи в выполнении задания!Кстати, я думаю, что такой вопрос задавался миллион раз, вы бы получили результат гораздо быстрее, просто взглянув на него.

0 голосов
/ 05 мая 2019

Вы должны заполнить матрицу внутри циклов, прежде чем отобразить ее, для этого вы можете сделать: int k = 0; ... matrix[i,x] = k++;, затем отобразить ее

0 голосов
/ 05 мая 2019

Вам нужно две отдельные петли здесь. Можно было бы заполнить 2D-массив последовательными целыми числами. Другой будет отображать содержимое массива. Вы написали только второй цикл в своем коде. Напишите этот цикл перед вашим вторым циклом.

int k = 0;
for (int i = 0; i < row; i++)
{
  for (int x = 0; x < column; x++)
  {
       matrix[i,x] = k++;
  }
}
0 голосов
/ 05 мая 2019

Матрица не назначена. Вы говорите компьютеру написать матрицу [0,0], матрицу [0,1] и т. Д. Но эти элементы не имеют значений.

Попытка:

матрица [я, х] = ...; // SomeValue Console.Write (матрица [я, х]);

Позднее редактирование: в желаемом выводе вы упоминаете значения 0, 1, 2, ..., которые приходят от итерации по массиву. Тем не менее, у вас есть матрица. Есть ли что-то еще в вашей проблеме?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...