.[ ČeskéHry.cz ].
prevod int na const char
Jdi na stránku Předchozí  1, 2, 3  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 20. červenec 2008, 14:50:45    Předmět: Odpovědět s citátem

AdamHlavatovic napsal:
> ... Teda nevim jak projde ta inicializace ...

Takato inicializacia
kód:
char str[] = "nejaky retazec";

je v c,c++ vcelku bezna a uplne v poriadku.


hmm kdyz uz ses takovej machr tak bys mohl vedet ze '\0' na konci se dava automaticky a neni treba ji tam explicitne psat.

navic tvuj kod znacne pokulhava kdyz elementu bude vic jak 10
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 20. červenec 2008, 14:51:23    Předmět: Odpovědět s citátem

AdamHlavatovic napsal:

a) Robi to presne to co tazatel chcel, tj. k retazcu "RateOfFires" to postupne pridava cislice 0 az 9 teda "RateOfFires0", "RateOfFires1", "RateOfFires2", atd..

a k cemu to je v takovemto cyklu dobre? a jak dosahnu pridani napr. cisla 10? slozity jak kybl kytu.
AdamHlavatovic napsal:

b) Pokial nepoznate jazyk c,c++ (co je zrejme s vasej reakcie) tak by ste sa v tomto fore nemal realizovat.

o tom kdo nezna jazyk C bych pomlcel. Pravdepodobne to budes ty, uz jenom z duvodu, ze
kód:

str[12] = '\0';

je v tomto pripade ale uplne zbytecne. Wink Kazdy, kdo C zna, a podle reakci ostatnich usoudi ze jej neznaji, tak vi, ze pri neuplne inicializaci statickeho pole jsou neinicializovane cleny nastaveny na 0. howgh.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AdamHlavatovic



Založen: 18. 12. 2007
Příspěvky: 12

PříspěvekZaslal: 20. červenec 2008, 14:57:32    Předmět: Odpovědět s citátem

znak '\0' sa samozrejme na koniec retazca dava, v mojom kode bude na pozicii 11, ktoru ovsem dalej prepisujem takze preto je tam to str[12] = '\0'. Samozrejme nevylucujem ze kompilator moze doplnit vsetky ostatne znaky znakom '\0' (teda str[11] a str[12]) ale spolahnut sa nato neda.

No a ktomu kodu: preto je v tom cykle for podmienka, i < 10, samozrejme ze ak i je 10 a viac, kod prestava fungovat ale nato ani nebol napisany. Navise,kod plne vyhovuje specifikacii tazatela a to pripojit cislo 5 k retazcu, takze dakujem postaci.


Naposledy upravil AdamHlavatovic dne 20. červenec 2008, 15:00:32, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 20. červenec 2008, 15:00:25    Předmět: Odpovědět s citátem

AdamHlavatovic napsal:
ale spolahnut sa nato neda.

ale da. je videt, ze opravdu nemas pravo soudit, kdo C umi a kdo ne.

napr.
kód:

int p[5] = {1};

inicializuje pole na prvky 1, 0, 0, 0, 0
totez plati i u char. PODLE NORMY! Evil or Very Mad
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AdamHlavatovic



Založen: 18. 12. 2007
Příspěvky: 12

PříspěvekZaslal: 20. červenec 2008, 15:05:46    Předmět: Odpovědět s citátem

ok, mate pravdu ale nic to nemeni na fakte ze kod funguje, ci uz tam je, alebo nieje
kód:
str[12]='\0';
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AdamHlavatovic



Založen: 18. 12. 2007
Příspěvky: 12

PříspěvekZaslal: 20. červenec 2008, 15:06:40    Předmět: Odpovědět s citátem

> je videt, ze opravdu nemas pravo soudit, kdo C umi a kdo ne
na zaklade vasej reakcie "(co dela je zrejme - absolutni nesmysl)" som nato mal plne pravo ze v c nieste velmi skuseny programator.


Naposledy upravil AdamHlavatovic dne 20. červenec 2008, 15:07:59, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 20. červenec 2008, 15:07:41    Předmět: Odpovědět s citátem

Funguje, ale takovouhle prasárnu by si slušný programátor do projektu nepustil (jak už psal Tutchek).
Ale teda fakt sranda, přijde člověk, napíše megaprasárnu a pak začne poučovat lidi, kteří se programováním zabývají > 10 let Smile


Naposledy upravil Augi dne 20. červenec 2008, 15:08:47, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
AdamHlavatovic



Založen: 18. 12. 2007
Příspěvky: 12

PříspěvekZaslal: 20. červenec 2008, 15:08:46    Předmět: Odpovědět s citátem

a vcom to je prasarna, skuste mi to vysvetlit, ak je poziadavka na koniec retazca pripojit jednu cislovku ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 20. červenec 2008, 15:09:11    Předmět: Odpovědět s citátem

samozrejme ze to funguje. to jsem nikde nepoprel, ale principielne to je prasarna, jak rika augi - to by slusny ( a zkuseny v C Wink ) programator v zivote neudelal.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AdamHlavatovic



Založen: 18. 12. 2007
Příspěvky: 12

PříspěvekZaslal: 20. červenec 2008, 15:11:03    Předmět: Odpovědět s citátem

> Ale teda fakt sranda, přijde člověk, napíše megaprasárnu a pak začne poučovat lidi, kteří se programováním zabývají > 10 let.

tak potom nechapem tu prvotnu reakciu an moj kod, ze to je absolutny nezmysel (to ze sa vam to nepaci, tak to je uz ina vec) a inak ja mam uz tiez zasebou tych 10 rokov.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AdamHlavatovic



Založen: 18. 12. 2007
Příspěvky: 12

PříspěvekZaslal: 20. červenec 2008, 15:13:53    Předmět: Odpovědět s citátem

tak potom som tvoju reakciu na moj kod zle pochopil
"to by me pomerne zajimalo, co ten tvuj kod ma delat (co dela je zrejme - absolutni nesmysl)"
a musim sa ospravedlnit, takze mozme vec povazovat za vybavenu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VladR



Založen: 30. 07. 2007
Příspěvky: 1322
Bydliště: Greater New York City Area

PříspěvekZaslal: 20. červenec 2008, 18:18:27    Předmět: Odpovědět s citátem

AdamHlavatovic napsal:
inak ja mam uz tiez zasebou tych 10 rokov.

Ja byt tebou tak sa tym nechvalim. To sa vobec nehanbis napisat taky kod aky si tu napisal ? To, ze kodis 10 rokov prd znamena, ak si ochotny sa podpisat pod taky kod, aky si tu vyssie uviedol. Co tak vseobecnejsie riesenie ? Ja sa pocas interview tiez stretavam s ludmi co tvrdia, ze su experti a kodia 10 rokov, ale po polozeni 3 otazok je hned jasne, ktora bije...

Augi : Ono to vobec nie je sranda, lebo taky clovek prijde na interview a struha tazkeho frajera aj ked kodi ako morske prasiatko Rolling Eyes
Interview s nim spravit musime, lebo ma za sebou vela rokov, ale v konecnom dosledku akurat zabijeme pol dna, pretoze technicke otazky nemozeme davat pred samotnym interview, cize aj ked clovek robil pokladnika v tescu 10 rokov, ale do CV si da, ze je C++ expert, tak sa zabije pol dna.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AdamHlavatovic



Založen: 18. 12. 2007
Příspěvky: 12

PříspěvekZaslal: 20. červenec 2008, 19:35:41    Předmět: Odpovědět s citátem

kód:
char str[13] = "RateOfFires";

for (int i = 0; i < 10; i++)
{
   str[11] = '0' + i;
   ...
}


Nie, za tento kod sa vobec nehambym, pri poziadavke ako bola, (spojit retazec "RateOfFires" s jednocifernym cislom (tazatel uvadzal cislo 5)), je toto lepsie riesenie nez pouzitie funkcii s rodiny itoa, alebo ostringstream, lexical_cast a podobne.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ladik-BigBoss



Založen: 28. 07. 2007
Příspěvky: 162

PříspěvekZaslal: 20. červenec 2008, 21:26:07    Předmět: Odpovědět s citátem

ten kod proste neni znovupouzitelny, skalovatelny a uz vubec ne hezky.
to ze nekdo da prikad: "treba 5". neznamena ze chce jenom cisla jednociferna ci nebude v budoucnu viceciferna potrebovat.
pokud kodis vic jak 10 roku mel bys myslet mnohem vice dopredu nez zacatecnik, kteremu radis a ne se ohanet tim, ze si o vic nerekl.

ja bych spise odpovedel, kdyz uz kodem, takto:

C:
kód:

int i;
char str[256];
i=5;
sprintf(str, "RatesOfFire%d", i);


C++
kód:

int i;
char str[256];
stringstream strs;
i=5;

strs << "RatesOfFire" << i;
strs >> str;


pod tohle se nevaham podepsat, ikdyz by me mnozi vytkli, ze jsem nepouzil snpritf
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
AdamHlavatovic



Založen: 18. 12. 2007
Příspěvky: 12

PříspěvekZaslal: 20. červenec 2008, 21:32:25    Předmět: Odpovědět s citátem

> pokud kodis vic jak 10 roku mel bys myslet mnohem vice dopredu nez zacatecnik.
lenze ten kod bola len jednorazovka, pri jeho pisani nebol kladeny doraz na znovupouzitelnost (doleita bola len maximalna jednoduchost a efektivita). Je to cele "nedorozumenie", samozrejme ze poznam ostrstream, sprintf, lexical_cast, popripade ine funkcie na prevod cisla na retazec, ale u takto jednoduchej a uzko specifickej veci skratka niesu potrebne.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3  Další
Strana 2 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna