Здравствуйте Аноним, Вы писали:
А>Я тут гляжу, вы любите головы над синтаксисом ломать. А>Вот вам ПРИКОЛ, сам проверял на Barland C/C++ 3.0
А>Сразу уверяю, ни какого вреда программа не сделает! Она только текст на экран выводит!
Давно уже гуляет эта программа по просторам Интернета, Фидонета и прочего Useнета, всплывая то там то сям в письмах восторженных поклонников, в первый раз увидевших её только сейчас
Здравствуйте Андрей Тарасевич, Вы писали:
АТ>Давно уже гуляет эта программа по просторам Интернета, Фидонета и прочего Useнета, всплывая то там то сям в письмах восторженных поклонников, в первый раз увидевших её только сейчас
А у нас в Бауманке несколько лет назад один человек рассказывал, что они на первых курсах так развлекались
Интересно, а история сохранила, кто автор?
Re: Oops
От:
Аноним
Дата:
31.08.02 02:33
Оценка:
:wow: Странно! Я, вроде как, кидал сабж в другой форум (C/C++) или меня меня уже глючит :???:
Re[3]: автор?
От:
Аноним
Дата:
31.08.02 16:01
Оценка:
Здравствуйте RomanW, Вы писали:
RW>А у нас в Бауманке несколько лет назад один человек рассказывал, что они на первых курсах так развлекались :)
RW>Интересно, а история сохранила, кто автор?
Нет. Урок всем программерам — "вшивать" свою подпись.
Здравствуйте Аноним, Вы писали:
А>Я тут гляжу, вы любите головы над синтаксисом ломать. А>Вот вам ПРИКОЛ, сам проверял на Barland C/C++ 3.0
А>Сразу уверяю, ни какого вреда программа не сделает! Она только текст на экран выводит!
а у меня на VC6 валится...
Serge.
Hасколько проще была бы жизнь, если бы она была в исходниках.
Здравствуйте Владислав, Вы писали:
S>>У меня не компилируется
В>Ага, это bag компилятора VC 6.0 sp 5. В>Я сам об этом недавно узнал. В>Интерестно, что о такой возможности говорит стандарт?
Что именно "баг компилятора"? Эта программа некорректна с точки зрения С++ и компилироваться не должна. Именно это и говорит стандарт.
Здравствуйте, Аноним, Вы писали:
А>Я тут гляжу, вы любите головы над синтаксисом ломать. А>Вот вам ПРИКОЛ, сам проверял на Barland C/C++ 3.0
А>Сразу уверяю, ни какого вреда программа не сделает! Она только текст на экран выводит!
А>carzy.c А>
Здравствуйте, OISV, Вы писали:
OISV> А интересно, чем это можно объяснить..... У тя нет никаких соображений?
Держи развернутый вариант, ломай голову, если хочешь.
Очевидно, все завязано на простой перестановке символов,
и тут просто вшит алгоритм восстановления строки.
меня только смущают 2 строчки:
return main(2,_+1,"%s %d %d\n");
и
return putchar(31[a]);
в первом случае — "шаблонность" строки.
а во втором — что означает аргумент 31[a]? a — это строка: char *a...
а это сам листинг упакованного(main1) и развернутого(main) вариантов:
Здравствуйте, Andrew S, Вы писали:
AS>Если смущает _+1, тогда
AS>
AS>main (int t, int _, char *a)....
AS>
да нет, как раз переменную _ я вижу...
смущает как раз 3й аргумент:
return main(2,_+1,"%s %d %d\n");
А точнее вопрос: эта строка используется, как шаблон(аля как для sprintf) или как просто строка(набор символов)?
И если как шаблон, то каким образом осуществляется форматирование?
--
DSD
Re[4]: Развлекалочка на C
От:
Аноним
Дата:
21.11.02 06:30
Оценка:
Здравствуйте, DSD, Вы писали:
DSD>что такое 31[a] до меня дошло наконец DSD>это эквивалент a[0]+31
Сдается мне, что это прооптимизированный алгоритм разархивации данных.
Есть тут кто-нибудь, кто этими вопросами занимался более-менее профессионально, может быть узнают здесь какой-нибудь из методов и название скажут ?
Здравствуйте, Владислав, Вы писали:
В>Мне больше вот такая нравится развлекалочка.
В>
В>#include"stdafx.h"
В>#include <wtypes.h>
В>struct A
В>{
В> char buff[10];
В>};
В>int main(int argc, char* argv[])
В>{
В> A a = {(char*)"123"};
В> printf("size = %d\n",sizeof(a));
В> return 0;
В>}
В>
В>Компилировать на VC.
У меня VC выдал:
fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information