[ pirgos_madden @ 24.11.2004. 12:04 ] @
Pravim (cisto radi vezbe) neki programcic i zanima me par stvari koje nisu cisto algoritamske prirode ali mislim da bi ipak najvise odgovaralo da to smestim ovde.

1) Gde bih mogao da nedjem neku povecu listu (u nekom .txt ili .dat i sl. formatu) reci na srpskom jeziku

2) Neka je dat skup reci npr. A = { "kuca", "skola", .....} razlicite duzine i skup slova B = {"a", "d" , ...}. Koji je najefikasniji algoritam (normalno, logicno bi bilo lepo reci poredjati od najduze do najkrace i onda klasicno za svaku proveriti moze li se napraviti od datih slova i cim se nadje jedna takva rec prekinuti dalje trazenje jer su ostale reci sigurno manje ili jednake najdenoj po duzini ali me cisto zanima ima li i nesto efikasnije) nalazenja najduze reci koja se moze formirati od slova iz skupa B a da pri tome u skupu B moze jedno slovo da se nadje i vise puta (nesto kao Slagalica) - dakle ako imam slova {l , o , k , o, a, v, s} i skup reci {olovka, knjiga, sveska, oko} odgovor je rec; olovka.

3) Kako se prilkom baratanja nasim recima (npr. kod pravljenja recnika) postupa sa nasim slovima kojih nema u alfabet-u, kako ih recimo drzati u .txt ili .dat fajlu i sl ?
[ filmil @ 24.11.2004. 16:40 ] @
Citat:
1) Gde bih mogao da nedjem neku povecu listu (u nekom .txt ili .dat i sl. formatu) reci na srpskom jeziku
Idi na Projekat Rastko i odatle skini neku knjigu. Negde je postojao i tzv „korpus reči srpskog jezika“ koji je pravljen na matematičkom fakultetu.
Citat:

2) Neka je dat skup reci npr. A = { "kuca", "skola", .....} razlicite duzine i skup slova B = {"a", "d" , ...}. Koji je najefikasniji algoritam (normalno, logicno bi bilo lepo reci poredjati od najduze do najkrace i onda klasicno za
Ne znam šta je najefikasnije, ali reč „odgovara“ ako se u njoj sva data slova pojavljuju manje ili jednako broju pojava datog slova u obrascu. Napravio sam ovakav programčić; pretraga nije bila efikasna ali čak i sa neefikasnom pretragom i prilično malim rečnikom od nekoliko stotina reči, program je umeo prilično dobro da se takmiči sa čovekom.
Citat:
3) Kako se prilkom baratanja nasim recima (npr. kod pravljenja recnika) postupa sa nasim slovima kojih nema u alfabet-u, kako ih recimo drzati u .txt ili .dat fajlu i sl ?
Sve što ti treba je neki programski jezik koji ume da radi sa Unikodom relativno jednostavno. Recimo Python ili Java.

f
[ jablan @ 25.11.2004. 08:18 ] @
Citat:
Napravio sam ovakav programčić; pretraga nije bila efikasna ali čak i sa neefikasnom pretragom i prilično malim rečnikom od nekoliko stotina reči, program je umeo prilično dobro da se takmiči sa čovekom.

Slglica? Imaš li još uvek kojim slučajem sors? Ne bi bilo zgoreg okačiti.
[ pirgos_madden @ 25.11.2004. 09:08 ] @
Citat:
Idi na Projekat Rastko i odatle skini neku knjigu.


Mislis da skinem bas pravi recnik (ima li uopste toga tamo?) ili bilo koju knjigu pa da napravim program koji ce sve reci sam da izvuce?
[ jablan @ 25.11.2004. 09:15 ] @
Ovo drugo. Imaćeš problem što ćeš tu imati reči u padežima, a pretpostavljam da tebi trebaju samo nominativi i infinitivi.
[ pirgos_madden @ 25.11.2004. 22:27 ] @
Citat:
Sve što ti treba je neki programski jezik koji ume da radi sa Unikodom relativno jednostavno. Recimo Python ili Java.


A jel moze ovo da se uradi u C/C++? Malo mi je glupo da ucim Javu od nule za program koji ne radim ozbiljno (skoro da je iz zezanja).
[ filmil @ 26.11.2004. 10:45 ] @
Citat:
A jel moze ovo da se uradi u C/C++?
Sve je moguće uraditi u C-u, odn. C++ (jezik C/C++ ne postoji). Ali ćeš onda morati da se rveš sa različitim implementacijama te podrške u različitim prevodiocima.

IMHO je mnogo jednostavnije da lepo uzmeš neki jezik koji sve te probleme ima već rešene.

f
[ jablan @ 26.11.2004. 10:50 ] @
Ili da ne radiš sa Unikodom, već sa nekim osmobitnim kodnim rasporedom, ako već nije ozbiljna aplikacija u pitanju.
[ pirgos_madden @ 26.11.2004. 11:34 ] @
Citat:
jablan:  već sa nekim osmobitnim kodnim rasporedom.


Na sta tacno (konkretno) mislis?
[ jablan @ 26.11.2004. 11:54 ] @
Pa koristiš osmobitni kodni raspored: jedan bajt - jedan karakter. Naprimer Windows-1250. Rečnik ti je u tom rasporedu i radiš sa običnim stringovima.

Proguglaj malo ako nisi 100% siguran o čemu je reč.
[ Dragi Tata @ 26.11.2004. 15:08 ] @
Citat:
filmil: Sve je moguće uraditi u C-u, odn. C++ (jezik C/C++ ne postoji). Ali ćeš onda morati da se rveš sa različitim implementacijama te podrške u različitim prevodiocima.

IMHO je mnogo jednostavnije da lepo uzmeš neki jezik koji sve te probleme ima već rešene.

f


Može da koristi npr ICU i da tako izbegne probleme o kojima govoriš.
[ pirgos_madden @ 26.11.2004. 23:13 ] @
Jel ovo kao neka biblioteka? Sta, samo iskompajliras, instaliras i posle lepo #include-ujes ono sto ti treba u svoje programce i koristis funkcije, procedure, classe i td. koje sadrzi?
[ filmil @ 27.11.2004. 01:30 ] @
Citat:
Može da koristi npr ICU i da tako izbegne probleme o kojima govoriš.
Može, good luck. :) Za potrebe slagalice sasvim je dovoljno zameniti nedostajuća slova nekim drugim znacima, recimo zagradama itd. Mada, što jes', jes', lepše Unikod...

f
[ -zombie- @ 28.11.2004. 22:43 ] @
jablan: mislim da je besmisleno u XXI veku preporučiti bilo kome (pa makar i početniku) da neku aplikaciju razvija bez unikoda (ma koliko aplikacija ne bila "ozbiljna").


nemanja: ICU? mora da se šališ.. zar ne? ;)

nego, si ga ti koristio? imaš li neka iskustva da podeliš sa nama? ;)

btw, odličan potpis.. :-P
[ Dragi Tata @ 29.11.2004. 00:49 ] @
Čekajte, čemu ta užasavanja? ICU je de facto standard za rad sa Unikodom na portabilan način u C++u. Bilo je neke priče da će da naprave Boost Unicode, ali ne verujem da se prešlo sa reči na dela. Naravno, ako se radi samo za Windows (NT/2k/xp/...) onda nema zime - tamo je sve Unikod.