[C#] Program na cenzuru - teorie! – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

[C#] Program na cenzuru - teorie! – .NET – Fórum – Programujte.com[C#] Program na cenzuru - teorie! – .NET – Fórum – Programujte.com

 

sh00ter0
Newbie
7. 4. 2011   #1
-
0
-

Zdravim, dostal jsem za úkol napsat program, který na vstupu dostane soubor cenzura.in a text.in a má slova obsažená v cenzura.in v textu vyhvězdičkovat.

Tak jsem si řek, že to je parádní úloha pro hashovací tabulky. Tak jsem si to napsal, funguje to dobře, akorát si to údajně při vstupech větších než 300kb řiká o příliš moc času. Nenapadá vás někoho lepší řešení?

Kód:

http://pastebin.com/mxZxFEke

Nahlásit jako SPAM
IP: 94.113.85.–
KIIV
~ Moderátor
+43
God of flame
7. 4. 2011   #2
-
0
-

no moc tam toho neni...
urcite nedavat .length do cyklu - nikdy nevis jak je to delany a jestli ti to nebude pocitat pokazdy znova (to se projevi u delsiho cenzuracniho souboru)

trochu muze usetrit cas kdyz nebudes 2x po sobe vyhledavat v hashtable (ale to bude jen pokud danne slovo v tabulce najdes):

if (tab[slovo]!=null) return tab[slovo].ToString();


a pak si hlavne otestuj, jak dlouho to trva bez nahrazovani.. jestli mas vubec sanci neco zlepsovat..
(nejlepsi je na to asi nejaky profiler.. ten ti zjisti, kde se program nejvic zdrzuje - ale netusim jestli je i pro C#)

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
sh00ter0
Newbie
8. 4. 2011   #3
-
0
-

Tak já nevim co se na tom tomu našemu systému nelíbí, vygeneroval jsem si 700kb lorem ipsumu, stvořil jsem nějakou sadu slov na cenzuru a vrátilo mi to 0,4 s....

Nahlásit jako SPAM
IP: 94.113.85.–
Krychlik
~ Anonymní uživatel
195 příspěvků
8. 4. 2011   #4
-
0
-

Visual Studio má výborný profiler, ale takhle když ho nepoužíváš, tak to jenom věštění z křišťálové koule. Co si ten příklad pamatuju, tak ten sviňácký vstup tě má naučit jak přesně probíhá přidáváná písmenka na konec stringu a k čemu je dobrý stringbuilder. Víc ti radit nebudu, 5 minut googleni/msdn a 5 minut fix to opraví.

Nahlásit jako SPAM
IP: 78.128.199.–
sh00ter0
Newbie
8. 4. 2011   #5
-
0
-

Tak jsem to přepsal na StringBuilder a funguje to jak má, jen to musím ještě odladit, páč tam někde za nějakýho vstupu pracuju s nullovym pointerem :)

Jinak ten profiler je i ve Visual Studiu Express? nebo jen v tom placenym?

Nahlásit jako SPAM
IP: 94.113.85.–
Krychlik
~ Anonymní uživatel
195 příspěvků
8. 4. 2011   #6
-
0
-

Nevim, nejspis nebude. Ale vzdycky si muzes ze skoly stahnount Ultimate.

Nahlásit jako SPAM
IP: 78.128.199.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 35 hostů

Podobná vlákna

Teorie relativity — založil CommanderZ

Teorie vzniku vesmiru — založil fuhrer

Trošku teorie...OOP — založil Honza

Registry a paměť - teorie — založil Hitokage

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý