Member 14172040 Ответов: 1

В C# поиск по квадратному 2D массиву по горизонтали и вертикали для определенных слов с помощью рекурсии


Здравствуйте, у меня есть 2D массив, который имеет размеры [9, 9] он отформатирован следующим образом:

Berzas,su
la;;sula;
;klevu sa
ldial lap
asula  a 
  aula, a
r  suart 
zemes vai
kai du   


Мой начальный текстовый файл, который я отформатировал в массив выше:

Berzas,sula;;sula;;klevu saldial lapasula  a   aila, ar  suart zemes vaikai du   


Мне нужно найти количество раз, когда эти слова появляются в массиве с помощью рекурсии:

Sula
Alus


Выход должен быть таким:

Sula 3
Alus 2


Что я уже пробовал:

Я только прочитал текстовый файл и отформатировал его в массив.

string file = File.ReadAllText(@"C:\Users\Justas\Desktop\L1\Rekursija\Trecias.txt");


         string[,] array = new string[n, n];

           var list = Enumerable
           .Range(0, file.Length / n)
           .Select(i => file.Substring(i * n, n))
           .ToList();

           var res = string.Join(Environment.NewLine, list);
           for (int i = 0; i < n; i++)
           {
               char[] row = list[i].ToCharArray();
               for (int j = 0; j < n; j++)
               {
                   array[i, j] = row[j].ToString();
               }
           }

           int rowLength = array.GetLength(0);
           int colLength = array.GetLength(1);


У меня кончились идеи о том, как идти об этой проблеме. Любая помощь будет очень признательна

Gerry Schmitz

Какой смысл в этом массиве? Расплющите его до списка и запросите его.

Member 14172040

Потому что это для задания и я должен использовать 2D массив

Patrice T

Я застрял на одной вещи: черт возьми, почему вы хотите использовать рекурсию в задаче, которая не нуждается в рекурсии ?

1 Ответов

Рейтинг:
0

OriginalGriff

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

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

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

Теперь у вас есть алгоритм, и вы можете начать думать о том, как перевести его в дизайн, а затем код.
Тогда проверьте его. И протестируйте его снова с другими данными. Используйте отладчик, чтобы выяснить, почему он не работает, когда он терпит неудачу.

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

Вы доберетесь туда - вам просто нужно потратить больше времени на размышления и гораздо меньше кодирования!