2014-12-16 5 views
0

Я пытаюсь научиться работать с 2D-массивом, и я не могу понять, как правильно их печатать. Я хочу напечатать их на «квадрате», как 5x5, но все, что я получаю, это одна строка. Я пробовал оба WriteLine и Write и изменил некоторые из переменных в циклах, но получаю либо ошибку, либо не результат, который я хочу иметь. Предполагается, что код должен распечатать 5x5 со случайной последовательностью из 15 номеров в каждом столбце. Я получаю правильные цифры, это только макет, который ошибочен.Печать 2D-массива на «квадраты»

static void Main(string[] args) 
{ 
    Random rnd = new Random(); 
    int[,] bricka = new int[5, 5]; 
    int num = 0; 
    int num1 = 1; 

    for (int i = 0; i < bricka.GetLength(1); i++) 
    { 
     num += 16; 
     for (int j = 0; j < bricka.GetLength(0); j++) 
     { 
      bricka[j, i] = rnd.Next(num1, num); 
     } 
     num1 += 16; 
    } 

    for (int i = 0; i < bricka.GetLength(0); i++) 
    { 
     for (int j = 0; j < bricka.GetLength(1); j++) 
     { 
      Console.Write(bricka[i, j]+ " "); 
     } 
    } 
    Console.ReadKey(); 
} 

Это мой принт, я хотел бы иметь 12 под 8 и 14 под 12 и так далее. http://i.imgur.com/tfyRxf1.png

ответ

3

Вам необходимо позвонить WriteLine() после каждой строки, так что каждая строка печатается на отдельной строке:

for (int i = 0; i < bricka.GetLength(0); i++) 
{ 
    for (int j = 0; j < bricka.GetLength(1); j++) 
    { 
     Console.Write(bricka[i, j]+ " "); 
    } 
    Console.WriteLine(); 
} 

Это будет один из способов сделать это, в любом случае.

+0

Спасибо! Вы знаете, что называется «sqaure» в C#, я предполагаю, что это не называется квадратами из-за неуместных поисковых запросов. – halalbin

+0

Извините, но я не понимаю этого вопроса. C# не имеет типа данных «квадратов» как таковой. Таким образом, вы можете назвать структуру данных, представляющую квадрат, который вам нравится. Даже «квадрат». :) –

+0

О, я вижу. Но в моем первом коде я получил результат как в одной строке по вертикали или по горизонтали зависимости write/writeline. С вашим кодом я получил результат как в «квадрате» из-за отсутствия лучших слов.5x5, 5 строк и 5 столбцов. Вы понимаете? :) – halalbin

Смежные вопросы