Re[10]: Задача с собеседования
От: omgOnoz  
Дата: 16.07.13 08:18
Оценка: 10 (1)
O>>
O>>private static void ProcessCell(int[,] mtrx, int x, int y)
O>>        {
O>>            ...
O>>            if(x+1 < mtrx.GetLength( 0 ))
O>>                ProcessCell( mtrx, x+1, y );
O>>            else if(y + 1 < mtrx.GetLength( 1 ))
O>>                ProcessCell( mtrx, 0, y + 1 );
O>>        }
O>>

S>Даже не глядя на деструктор, первый рекурсивный вызов не в хвосте, т.к. за ним условие else-if-а.
Да ну? Во первых зайдя в блок if мы уже в else if не попадем и рекурсивный вызов ProcessCell будет "последней" операцией.

Я не подумал про такие придирки, но что ли трудно переписать? Вычислить новый x и y до вызова или в "самом вызове" ProcessCell.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.