# [zapocet] 30.5 16.00

<{ForumPost(poster="qwyxyo", timestamp=2005-05-30 19:33:27)}>
Klasika: printf bez printf...  :lol:  parametre %c, %s, %d, %f ... sami sme si mohli zvolit pocet desatinnych miest pri double... baz akychkolvek dalsich parametrov. Osetrenie minimalne. Postacili zakladne vlastne testovacie vstupy. Ten chlapik zdojak preletel len ocami a "bylo to v kapse"...  
  
P.S.  
Odchadzal som hodinu pred koncom a zastali tam cca uz len piati.   
Ostatnym prajem podobny 'lak'...  :P
<{/ForumPost}>

<{ForumPost(poster="Necroman", timestamp=2005-05-31 14:18:10)}>
Stastny ty jedince... program na ani ne 50 radku, takovy bych take rad dostal :wink: ... uvidime.
<{/ForumPost}>

<{ForumPost(poster="qk", timestamp=2005-05-31 16:07:03)}>
co vsechno za fce povolili? napriklad jak se pomoci ceho se mohl prevadet float na "string"?
<{/ForumPost}>

<{ForumPost(poster="Dawe", timestamp=2005-05-31 17:27:45)}>
No mě by docela zajímalo jak se to dostávalo ven, přes třeba putc? A co obejít to přes C++? Určitě to nebylo zakázaný (teda jestli to jde, myslím, že to je jina fukce než printf).  :D
<{/ForumPost}>

<{ForumPost(poster="qk", timestamp=2005-05-31 17:44:11)}>

 > Dawe wrote:No mě by docela zajímalo jak se to dostávalo ven, přes třeba putc? A co obejít to přes C++? Určitě to nebylo zakázaný (teda jestli to jde, myslím, že to je jina fukce než printf).  :D

no ven  bych to dostal tak ze bych si to pripravil do retezce a puts, mne spis zajima ta konverze double -> string
<{/ForumPost}>

<{ForumPost(poster="Trupik", timestamp=2005-05-31 19:07:05)}>
A byla povolena makra z stdarg.h?
<{/ForumPost}>

<{ForumPost(poster="Trupik", timestamp=2005-05-31 19:12:48)}>

 > Dawe wrote:No mě by docela zajímalo jak se to dostávalo ven, přes třeba putc? A co obejít to přes C++? Určitě to nebylo zakázaný (teda jestli to jde, myslím, že to je jina fukce než printf).  :D

a taky by se to dalo obejit přes fprintf:)
<{/ForumPost}>

<{ForumPost(poster="Necroman", timestamp=2005-05-31 19:29:15)}>

 > Trupik wrote:A byla povolena makra z stdarg.h?

Zajimalo by mne, jak bys to chtel napsat bez stdarg.h? napsat si vlastni makra pro praci s volitenym poctem argumentu :-) .  
Kdyz jsem to psal doma, tak jsem pouzil toto:

    int my_printf(char *ret, ... )
    {int c=0;va_list p;va_start (p, ret);while(ret[c]) {if (ret[c]=='%')switch (ret[++c]){case ('d'):   // vypis cislocout << va_arg(p, int);break;case ('c'):   // vypis znakcout << va_arg(p, char);break;case ('s'):   // vypis retezeccout << va_arg(p, char*);break;case ('f'):   // vypis doublecout << va_arg(p, double);break;}else    putchar(ret[c]);  //jinak vypis nacteny znakc++;}va_end(p);return 0;
    }
    

jeste je treba osetrit backslashe, ci jine vychytavky, ale takto by to mohlo fungovat (*cout* ale asi nebyl povolen, jak tak tipuji)
<{/ForumPost}>

<{ForumPost(poster="Trupik", timestamp=2005-05-31 19:36:34)}>

 > Necroman wrote:
 >  > Trupik wrote:A byla povolena makra z stdarg.h?
 > 
 > Zajimalo by mne, jak bys to chtel napsat bez stdarg.h? napsat si vlastni makra pro praci s volitenym poctem argumentu :-) .  
 > Kdyz jsem to psal doma, tak jsem pouzil toto:
 > 
 > 
 > 
 >     int my_printf(char *ret, ... )
 >     {int c=0;va_list p;va_start (p, ret);while(ret[c]) {if (ret[c]=='%')switch (ret[++c]){case ('d'):   // vypis cislocout << va_arg(p, int);break;case ('c'):   // vypis znakcout << va_arg(p, char);break;case ('s'):   // vypis retezeccout << va_arg(p, char*);break;case ('f'):   // vypis doublecout << va_arg(p, double);break;}else    putchar(ret[c]);  //jinak vypis nacteny znakc++;}va_end(p);return 0;
 >     }
 >     
 > 
 > 
 > 
 > jeste je treba osetrit backslashe, ci jine vychytavky, ale takto by to mohlo fungovat (*cout* ale asi nebyl povolen, jak tak tipuji)

proste jsem se ptal, jestli byla povolena - kdyby po vas chteli, abyste jejich praci simulovali rucne, zas tak by mne to neprekvapilo.
<{/ForumPost}>

<{ForumPost(poster="qk", timestamp=2005-05-31 19:37:49)}>
makra va_argu sme psali na cvikach a je to prace na 20 minut, ale je lepsi pouzit uz udelany, protoze kdyz se udela chyba v makrech, tak je to dost opruz.
<{/ForumPost}>

