История по американски и код на С
От: Кирпа В.А. Украина  
Дата: 18.05.06 13:37
Оценка: 3 (1) :))) :))) :))
Все помнят топик который из юмора попал в священные войны

здесь
Автор: Кирпа В.А.
Дата: 21.04.06


А теперь кусок кода того "американского историка"
Вот так то и с историей знаком и владеет навыками индуса

/* Convert function that will convert a
   numeric month to an alphabetic month*/
char *convert (mnth)
short mnth;  /* numeric value of month passed to the function */
{
  char *ptr; /* pointer to address of corresponding alphabetic month */
  static char alp_mon[12][10] = { "January","February","March","April",
                                "May","June","July","August","September",
                                "October","November","December"  }; 
        switch (mnth)
        {
             case 1:
                        ptr=alp_mon[0];
            break;
        case 2:
            ptr=alp_mon[1];
            break;
        case 3:
            ptr=alp_mon[2];
            break;
        case 4:
            ptr=alp_mon[3];
            break;
        case 5:
            ptr=alp_mon[4];
            break;
        case 6:
            ptr=alp_mon[5];
            break;
        case 7: 
            ptr=alp_mon[6];
            break;
        case 8:
            ptr=alp_mon[7];
            break;
        case 9:
            ptr=alp_mon[8];
            break;
        case 10:
            ptr=alp_mon[9];
            break;
        case 11:
            ptr=alp_mon[10];
            break;
        case 12:
            ptr=alp_mon[11];
            break;
    }
        return(ptr);
}
!0xDEAD
Re: История по американски и код на С
От: gandalf_g Россия  
Дата: 18.05.06 14:05
Оценка: :)
Здравствуйте, Кирпа В.А., Вы писали:


КВА>А теперь кусок кода того "американского историка"

КВА>Вот так то и с историей знаком и владеет навыками индуса

ага, индопиндос

еще забава, если вдруг mnth не попадает в условия switch, то получаем dead ptr на выходе
Have fun...
Re: История по американски и код на С
От: SexMachine Украина www.is.svitonline.com/sashko1
Дата: 18.05.06 14:36
Оценка:
КВА>А теперь кусок кода того "американского историка"
...

Складывается впечатление, что такой код там — нормальная практика программирования. Многим наверное вспомнилась история о "нашем" программисте "там" который влез в SQL запросы одной базы и выкинул целую таблицу из 300+ записей примерно такого вида :
ID, Value
1 , 0;
2 , 1;
3 , 2;
...
И когда он показывал оптимизированный код, где кроме прочего было что-то вроде "Set AnValue=Key-1" вместо "Select Value From...", начальство долго не могло понять "зачем он выбросил таблицу", и "как это может работать"
У кого-то варит голова, у кого-то — желудок...
Re[2]: История по американски и код на С
От: Horror_Infinity Россия  
Дата: 18.05.06 14:49
Оценка: :)
Здравствуйте, gandalf_g, Вы писали:

_>Здравствуйте, Кирпа В.А., Вы писали:



КВА>>А теперь кусок кода того "американского историка"

КВА>>Вот так то и с историей знаком и владеет навыками индуса

_>ага, индопиндос


Скорее, просто пиндус...
... << RSDN@Home 1.2.0 alpha rev. 648>>
Re: История по американски и код на С
От: halka Украина  
Дата: 18.05.06 15:50
Оценка: +1
Этот идиотизм скорее всего придуман для того чтобы специально увеличить количество строк кода.
Теоретически за большее количество строк могут больше заплатить либо для того чтобы уменьшить соотношение ошибок и строк кода.
Re: История по американски и код на С
От: Аноним  
Дата: 18.05.06 15:52
Оценка:
Здравствуйте, Кирпа В.А., Вы писали:


КВА>Все помнят топик который из юмора попал в священные войны


КВА>здесь
Автор: Кирпа В.А.
Дата: 21.04.06


КВА>А теперь кусок кода того "американского историка"

КВА>Вот так то и с историей знаком и владеет навыками индуса

Вы забыли условия NDA соглашения?
Re: История по американски и код на С
От: Tolyan www.kbsoft-group.com
Дата: 19.05.06 07:18
Оценка:
Здравствуйте, Кирпа В.А., Вы писали:


КВА>...


Хотелось бы взглянуть на Ваш код, имеющий ту же функциональность, работающий не медленнее, написанный быстрее чем выше указанный
Re[2]: История по американски и код на С
От: Кирпа В.А. Украина  
Дата: 19.05.06 07:37
Оценка: 2 (1)
Здравствуйте, Tolyan, Вы писали:

T>Здравствуйте, Кирпа В.А., Вы писали:



КВА>>...


T>Хотелось бы взглянуть на Ваш код, имеющий ту же функциональность, работающий не медленнее, написанный быстрее чем выше указанный

/* Convert function that will convert a
numeric month to an alphabetic month*/
char *convert (char *mnth)
{
static char *alp_mon[] = { "January","February","March","April",
"May","June","July","August","September",
"October","November","December" };
return alp_mon[mnth — 1];
}
!0xDEAD
Re[3]: История по американски и код на С
От: Кирпа В.А. Украина  
Дата: 19.05.06 07:39
Оценка:
Здравствуйте, Кирпа В.А., Вы писали:

T>>Хотелось бы взглянуть на Ваш код, имеющий ту же функциональность, работающий не медленнее, написанный быстрее чем выше указанный

КВА>/* Convert function that will convert a
КВА> numeric month to an alphabetic month*/
КВА>char *convert (short mnth)
КВА>{
КВА> static char *alp_mon[] = { "January","February","March","April",
КВА> "May","June","July","August","September",
КВА> "October","November","December" };
КВА> return alp_mon[mnth — 1];
КВА>}
!0xDEAD
Re[3]: История по американски и код на С
От: Tolyan www.kbsoft-group.com
Дата: 19.05.06 07:41
Оценка:
Здравствуйте, Кирпа В.А., Вы писали:

КВА>Здравствуйте, Tolyan, Вы писали:


T>>Здравствуйте, Кирпа В.А., Вы писали:



КВА>>>...


T>>Хотелось бы взглянуть на Ваш код, имеющий ту же функциональность, работающий не медленнее, написанный быстрее чем выше указанный

КВА>/* Convert function that will convert a
КВА> numeric month to an alphabetic month*/
КВА>char *convert (char *mnth)
КВА>{
КВА> static char *alp_mon[] = { "January","February","March","April",
КВА> "May","June","July","August","September",
КВА> "October","November","December" };
КВА> return alp_mon[mnth — 1];
КВА>}

согласен Ваш вариант симпатичнее
Re[4]: История по американски и код на С
От: Аноним  
Дата: 19.05.06 07:49
Оценка:
Здравствуйте, Кирпа В.А., Вы писали:


T>>>Хотелось бы взглянуть на Ваш код, имеющий ту же функциональность, работающий не медленнее, написанный быстрее чем выше указанный

КВА>>/* Convert function that will convert a
КВА>> numeric month to an alphabetic month*/
КВА>>char *convert (short mnth)
КВА>>{
КВА>> static char *alp_mon[] = { "January","February","March","April",
КВА>> "May","June","July","August","September",
КВА>> "October","November","December" };
КВА>> return alp_mon[mnth — 1];
КВА>>}

В вашем коде, как и в коде "индуса" — ошибка. Нет проверки на то, что mnth находится в нужных пределах от 1 до 12. Только в "индуском" случае возвращается левый указатель, а в вашем — будет эксепшн.
Re[5]: История по американски и код на С
От: Кирпа В.А. Украина  
Дата: 19.05.06 07:56
Оценка: :)
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Кирпа В.А., Вы писали:



А>В вашем коде, как и в коде "индуса" — ошибка. Нет проверки на то, что mnth находится в нужных пределах от 1 до 12. Только в "индуском" случае возвращается левый указатель, а в вашем — будет эксепшн.


Согласен у меня будет сразу эксепшн а в "индуса" сразу после возврата из функции при попытке доступа по левому указателю
Так что поведение программы я сохранил
!0xDEAD
Re[5]: История по американски и код на С
От: Tolyan www.kbsoft-group.com
Дата: 19.05.06 07:57
Оценка:
Здравствуйте, Аноним, Вы писали:


А>В вашем коде, как и в коде "индуса" — ошибка. Нет проверки на то, что mnth находится в нужных пределах от 1 до 12. Только в "индуском" случае возвращается левый указатель, а в вашем — будет эксепшн.


все так, но условия поставленной задачи были выполнены на 100%
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.