Switch Case производит итерацию по всему массиву - C#
Формулировка задачи:
Всем здравствуйте!
Столкнулся с очень странной проблемой: есть матрица 10 строк, 3 столбца. Матрица заполняется char'ами, далее идет такая штука:
В итоге получаю из вот такой:
e-e-e
e-w-e
e-e-d
e-e-e
e-e-e
e-e-e
такую:
e-Z-e
e-W-e
e-e-D
e-Z-Z
e-Z-Z
e-Z-Z
пробовал switch()case менять на if-ы, проблема остается. Вообще не понятно как такое получается, может быть поможет кто?
for (int j = 0; j < 3; j++) for (int i = 0; i < matrix.Count; i++) switch (matrix[i][j]) { case 'w': matrix[i][j] = 'W'; matrix[i + 1][j] = 'Z'; break; case 'j': matrix[i][j] = 'J'; matrix[i + 1][j] = 'Z'; break; case 'd': matrix[i][j] = 'D'; matrix[i + 1][j] = 'Z'; break; }
Решение задачи: «Switch Case производит итерацию по всему массиву»
textual
Листинг программы
using System; using System.Collections.Generic; namespace ConsoleApplication26 { class Program { static void Main(string[] args) { var matrix = new List<char[]> { new[] { 'e', 'e', 'e' }, new[] { 'e', 'w', 'e' }, new[] { 'e', 'e', 'd' }, new[] { 'e', 'e', 'e' }, new[] { 'e', 'e', 'e' }, new[] { 'e', 'e', 'e' }, }; // копипаста for (int j = 0; j < 3; j++) for (int i = 0; i < matrix.Count; i++) switch (matrix[i][j]) { case 'w': { matrix[i][j] = 'W'; matrix[i + 1][j] = 'Z'; break; } case 'j': { matrix[i][j] = 'J'; matrix[i + 1][j] = 'Z'; break; } case 'd': { matrix[i][j] = 'D'; matrix[i + 1][j] = 'Z'; break; } } matrix.ForEach(r => Console.WriteLine(string.Join(@"-", r))); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д