В связи с тем, что летний сезон отпусков никак не прекращается и качество работы команды RSDN наченает вызывать справедливое народное нагодование, а также в связи с отягчающими (для меня, по крайней мере) обстоятельствами (см.
здесьАвтор: Writer
Дата: 13.08.02
, я прямо чувствую как тупею на чужбине
, а так хочется оставить хоть какой-нибудь след в этой жиньзи пока не поздно), я решил без спросу открыть новый форум имени Flamer'а — Исходники!!!
Предлагаю постить сюда всё, что может быть просто взято и применено любым желающим в его программе. Маленькие функции и большие идеи, интересные алгоритмы и оригинальные решения, всё чем вы можете просто так поделится со своими коллегами.
Я долго думал чтобы сюда самому запостить в первую очередь. Что-то большое — могут не понять и начать валить сюда километровые исходники проектов. Что-то совсем бестолковое — скажут а нафига это надо. Думал, думал и придумал. Начну ка я с простенькой функции склонения русских числительных:
int HowSay(int n)
{
n %= 100;
if (n >= 10 && n <= 20)
return 0;
n %= 10;
return n == 1? 1: n <= 4 && n > 0? 2: 0;
}
и пример использования
void main()
{
char *money[] = {
"денёг",
"деньга",
"денюжки"
};
char buf[256];
sprintf(buf,"1 %s\n104 %s\n58 %s\n",
money[HowSay(1)],money[HowSay(104)],money[HowSay(58)]);
::CharToOem(buf,buf);
printf(buf);
}
Продолжайте. И скажем спасибо Дмитрию aka Flamer за хорошее начинание.