Реализация алгоритма рекурсии на трехмерном массиве в c - PullRequest
0 голосов
/ 04 декабря 2010

Мне нужно реализовать функцию со следующей сигнатурой:

int rec(int board[SIZE][SIZE][10])

* SIZE - это константа.

Функция должна быть рекурсивной.Сама доска является двухмерной, а третье измерение используется для хранения возможных значений ячейки.

Мой вопрос: как я могу сканировать доску рекурсивно, без функции приема текущей строки и столбца доскикак параметры?

1 Ответ

0 голосов
/ 04 декабря 2010

Должна ли ваша функция быть рекурсивной? Вы знаете, что в этом массиве всего 3 измерения, так что алгоритм, который сканирует весь массив от начала до конца, может быть реализован с использованием не более 3 вложенных циклов (2 для идентификации текущей ячейки и одно для итерации по всем 10 значениям в ячейка).

На этой ноте, когда вы говорите «удерживая возможные значения ячейки», есть ли в этой ячейке 10 отдельных целых, которые нужно отслеживать? Если вместо этого это просто int, у которого есть 10 возможных различных значений, то это третье измерение массива не требуется. Хотя может быть 10 возможных значений, ячейка может содержать только одно из них за раз.

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