Re[5]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Кодт Россия  
Дата: 21.01.05 13:20
Оценка:
Здравствуйте, Stanky, Вы писали:

>> Во-первых, здесь реализован цикл с декрементом счётчика (а в задании

>> есть ограничение на циклы)
>>
S>Не понял, можно разъяснить?

Очень просто. Давай вместо push/ret напишем человеческое goto. Получится цикл.

>> Во-вторых, это всего лишь вариация на тему setjmp/longjmp — всего лишь

>> вычурная форма goto (а на него тоже есть ограничения)
>>
S>Тогда получается, что кроме goto в процах вообще ничего нет!!!
S>Ведь та же рекурсия (вызов функции) организуется через команду call, а это тотже goto (jmp) только в стек записывается адрес возврата!!!

Это лишь один из способов организовать рекурсию.
Языки обработки символов списков (тот же Лисп) могут делать это по-другому.
Например, выполнять подстановку тела функции в выражение, и последовательно интерпретировать.
Перекуём баги на фичи!
Re[6]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Stanky  
Дата: 21.01.05 22:07
Оценка:
> Очень просто. Давай вместо push/ret напишем человеческое goto.
>
Ну без команд перехода не обойтись вообще, так как даже if, switch/case, вызов функций, прерываний и т. д. их использует!!!
Так что получается, что задача просто нерешаемая!!!
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re[3]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Аноним  
Дата: 21.01.05 22:26
Оценка: 3 (1)
Здравствуйте, Аноним, Вы писали:

А>Классно!

А>Небольшая оптимизация

А>
А>class Welcome
А>{
А>  public:
А>   Welcome() {cout<<"Welcome!\n";}
А>   ~Welcome() {cout<<"Welcome!\n";}

А>}

А>int main()
А>{
А>  Welcom arr[500000];
А>}
А>


Ну и наконец, если мы напишем так:
Welcom *arr = new Welcom[500000];
delete []arr;

то избавляем себя от возможных проблем с переполнением стека
В общем нету предела совершенства
Re: kak mozno napechata 100000 raz "welcome" ne ispolzya loo
От: Dimonka Верблюд  
Дата: 24.01.05 15:06
Оценка:
Здравствуйте, kosfr, Вы писали:

K>byl ya na sobesedovanii na raboty c++/C#.

K>zadali vopros: kak napisat ne vazno na kakomyazuke 1.000.000 raz "Welcome" ne ispolzya: goto, for, while, do-while etc. parvui sposob recyrsia, a vtoroi????

Print RepeatString(1000000, "Welcome")

Re[7]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Кодт Россия  
Дата: 25.01.05 13:17
Оценка:
Здравствуйте, Stanky, Вы писали:

S>Ну без команд перехода не обойтись вообще, так как даже if, switch/case, вызов функций, прерываний и т. д. их использует!!!

S>Так что получается, что задача просто нерешаемая!!!

Шаблонное программирование — может развернуть всё в один длинный-предлинный код (100000 раз повторит printf("welcome")). Потому что инлайн.

Разумеется, будем считать вызов printf атомарным. А почему бы и нет? Может, это инструкция для DMA-контроллера?..
Перекуём баги на фичи!
Re[2]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Аноним  
Дата: 25.01.05 17:06
Оценка: :))
a ya nashol reshenia poproshche
nujno obedinit 1000000 kompiuterov v set i potom v command prompte napechatat net send all welcome
i vsio
Re[3]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Ka3a4oK  
Дата: 23.02.05 06:10
Оценка:
круто.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: kak mozno napechata 100000 raz "welcome" ne ispolzya loo
От: Erop Россия  
Дата: 07.04.05 18:06
Оценка:
Здравствуйте, kosfr, Вы писали:

K>byl ya na sobesedovanii na raboty c++/C#.

K>zadali vopros: kak napisat ne vazno na kakomyazuke 1.000.000 raz "Welcome" ne ispolzya: goto, for, while, do-while etc. parvui sposob recyrsia, a vtoroi????

Скомпилировать


template<int count>
class WW {
public:    
    static void DoIt()
    {
        int Welcome;
        WW<count - 1>::DoIt();
    }
};


template<>
class WW<0> {
public:
    static void DoIt() {}
};

static int f()
{
    WW<1000 * 1000>::DoIt();
}






Правлда я рискнул попробовать только 100 раз напечатать
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Кодт Россия  
Дата: 07.04.05 18:17
Оценка:
Здравствуйте, Erop, Вы писали:

E>Правлда я рискнул попробовать только 100 раз напечатать


Конечно! Между тем, есть действенный вариант с шаблонами. См. выше по ветке...
Перекуём баги на фичи!
Re[3]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Erop Россия  
Дата: 07.04.05 22:31
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Конечно! Между тем, есть действенный вариант с шаблонами. См. выше по ветке...


Конечно есть, правда это не совсем соответсвует заданию, что типа не рекурсия
Но зато прикольно, что можно печатать не в stdout, скажем, а влог компиляции )
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: fulltick  
Дата: 08.04.05 02:19
Оценка:
Здравствуйте, Erop, Вы писали:

E>Скомпилировать

E>Правлда я рискнул попробовать только 100 раз напечатать
Не компилируется —
> fatal error C1204: compiler limit : internal structure overflow
Re[3]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: Erop Россия  
Дата: 08.04.05 04:33
Оценка:
Здравствуйте, fulltick, Вы писали:

F>Не компилируется —

>> fatal error C1204: compiler limit : internal structure overflow


А что за компилятор и какое число повторов ставил?

На самом деле, если кто-то не заметил, эта штука печатает Welcome не при работе, а при компиляции
В предупреждениеях о неиспользуемой переменной Welcome
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: kak mozno napechata 100000 raz "welcome" ne ispolzya
От: fulltick  
Дата: 08.04.05 04:39
Оценка:
Здравствуйте, Erop, Вы писали:

E>А что за компилятор

Visual C++ 7.1

E>и какое число повторов ставил?

1000000, как в примере

E>На самом деле, если кто-то не заметил, эта штука печатает Welcome не при работе, а при компиляции

E>В предупреждениеях о неиспользуемой переменной Welcome
Ну это я понял, просто интересно было посмотреть, что скажет компилятор.
Сообщения о не используемой переменной я задавил int Welcome = 0, а то компиляция длится д-о-о-о-о-о-о-о-лго.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.