[C# Basics Exam 28 April 2014 - 03.Disk] Странно поведение
Здравейте! Ще питам директно: Защо кодът не работи, когато е минус?
http://codepaste.net/f85psy
Здравейте! Ще питам директно: Защо кодът не работи, когато е минус?
http://codepaste.net/f85psy
Предполагам хвърля out of bounds exception - това е защото когато col e 0 и му се даде col - 1 индекса става -1, което не е валиден индекс за масив.
Не работи нито с плюс, нито с минус, защото излизаш извън границите на масива.
Когато col == 0 и с минус опитваш да промениш елемент с индекс за колоната -1, какъвто не съществува.
Когато col == fieldSize - 1 и работиш с плюс, опитваш да промениш елемент с индекс fieldSize, какъвто също не съществува.
И в двата случая ще получиш IndexOutOfRangeException.
http://prikachi.com/images.php?images/376/7873376K.png
Определено не излиза от границите...
Да, всъщност условията в if-a предотвратяват exception-a.
Какво имаш предвид под "кодът не работи"?
Когато увеличавам реда или колоната в координатите, си работи, но ако искам, примерно, да нарисува над дадената позиция или в ляво от нея, никаква промяна(тоест когато в координатите реда или колоната намалява).. Немога да си обесня по каква причина не работи
Аха, разбрах. То си работи, но проблемът е, че принтираш в цикъла. Ти променяш елементите, но вече си ги принтирал и няма как да видиш, че са променени.
Извади принтирането накрая, в отделен цикъл, и ще видиш резултата.