Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Песочница > Изучаем рекурсию


Автор: zkv 8.10.2007, 08:08
Код

bool ПонятьРекурсию()
{ 
    if( ТыПонялЧтоТакоеРекурсия? )
        return true;
    else
        return ПонятьРекурсию();
}

int main()
{
     if( ПонятьРекурсию() )
          cout<<"Я знал что ты поймешь :)";
     else
          cout<<"И никаких \"иначе\" быть не может :)";
}

Автор: SelenIT 8.10.2007, 08:26
Что-то меня синтаксис 3-ей строчки смущает... что обозначает такая запись (с вопросиком в конце)?

Автор: zkv 8.10.2007, 08:53
Цитата(SelenIT @  8.10.2007,  08:26 Найти цитируемый пост)
что обозначает такая запись (с вопросиком в конце)?

сишный компилер воспримет как начало тернарной операции: ? : 
и будет требовать продолжения, 
впрочем и к кириллице он без особого понимания отнесется smile

Автор: Mihhail 8.10.2007, 13:50
Здесь механизм самообучения не заложен! Ни каких действий, что бы утвердительно ответить на вопрос, если изначально ответ отрицательный.

Явное переполнение в перспективе...

Функция требует усовершенствования.  smile

Автор: Domestic Cat 8.10.2007, 14:20
user posted image

Автор: check 8.10.2007, 15:18
Цитата(zkv @  8.10.2007,  08:53 Найти цитируемый пост)
сишный компилер воспримет как начало тернарной операции: ? : 
и будет требовать продолжения, 
впрочем и к кириллице он без особого понимания отнесется

Гы...  А Java оказывается нормально к кириллице отностится!

Работающий код
Код

public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
    }
    
    static boolean ПонятьРекурсию() {
        if(ТыПонялЧтоТакоеРекурсия())
            return true;
        else
            return ПонятьРекурсию();
    }
    
    static boolean ТыПонялЧтоТакоеРекурсия() {
        return true;
    } 
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
     if( ПонятьРекурсию() )
          System.out.println("Я знал что ты поймешь :)");
     else
          System.out.println("И никаких \"иначе\" быть не может :)");
    }
    
}


А вы говорите 1С  smile 

Автор: SelenIT 8.10.2007, 19:21
Все-таки мне кажется, что ТыПонялЧтоТакоеРекурсия() должна обладать какой-то интерактивностью...
Интерпретируемая версия:
Код

<script type="text/javascript">
function тыПонялЧтоТакоеРекурсия() {
   return confirm("Ты понял, что такое рекурсия?");
}
function понятьРекурсию() {
   return тыПонялЧтоТакоеРекурсия() ? true : понятьРекурсию();
}
onload = function() {
   if (понятьРекурсию()) alert("Я знал что ты поймешь :)");
   else throw("The Matrix performed an illegal operation and will be reloaded");
}
</script>


Кстати, можно скопипастить и запустить в браузере ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)