2016-04-06 3 views
-2

У меня есть эта проблема, в которой я хочу изменить значение элемента в col ln матрицы, у меня уже есть функция для этого, но я думаю, что смогу сделать лучше один, единственное, я не могу придумать другой способ получения элемента из матрицы и положить его обратно я могу получить его с помощьюOCaml «чтение» матрицы (список списков)

List.nth с (List.nth фунт м)

но им не удалось вернуть его обратно

что у меня на данный момент (веселье слева и справа не сделано)

matrixleft m @((List.nth c (List.nth lb m)) + 1)::matrixright m 

ответ

0

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

Если вы не выполняете какое-либо требование, требуемое извне, вам будет лучше использовать реальную матрицу (массив массивов). Тогда нет пересечения, поэтому вы получаете постоянные обновления времени.

+0

У меня есть код, который делает именно это, переходя к строкам, затем столбцам, а затем обновляет и останавливает, проблема в том, что я не знаю, разрешено ли им, и таким образом кажется, что они хотят, чтобы я это делал , не могли бы вы привести пример кода, который проходит один раз? посмотреть, похоже ли это на мое – AMNevess