[ djordjevic_i @ 08.04.2010. 21:49 ] @
Pozdrav. Radim jedan program za seminarski, izmedju ostalog, potrebno mi je da ispitam da li mi se reci koje se nalaze u jednoj datoteci nalaze i u drugoj! Dakle, u jednoj datoteci imam napisano npr. 15 reci i sad mi je potrebno da saznam da li se bilo koja rec iz prve podudara sa nekom iz druge.Ako se podudaraju, onda idem na neki racun koji cem mi reci da li je poruka spam ili ne... Mogu funkcijom gets da ispitujem pojedinacno za svaku rec, ali to prolazi ako imam mali broj reci,ali ako bih imao npr. 200 reci u datoteci, tu mi to ne bi pomoglo. ako neko moze da pomogne, bilo bi super.
[ GORSHTAK @ 08.04.2010. 22:10 ] @
Učitaj reči iz oba fajla u memoriju (niz, povezane liste) pa kreni sa upoređivanjem, nadam se da ti datoteke neće biti veće od 100 Mb :)
[ Mihajlo Cvetanović @ 08.04.2010. 22:32 ] @
Da se radi u C++ onda bi std::map ovde lepo legao. Ono što ti možeš da uradiš je da grupišeš reči po prvom slovu, ili po prva dva slova, i da držiš niz od N ili N*N pointera (N je broj različitih slova koje mogu da čine reč). Svaki od tih pointera bi pokazivao na grupu reči koje počinju tim slovom, ili tim parom slova. Kad bi inače reč poredio sa svakom reči iz rečnika sada ćeš porediti samo sa onom grupom koja počinje odgovarajućim slovom, ili parom slova. To bi bitno smanjilo vreme za poređenje.
[ djordjevic_i @ 09.04.2010. 10:07 ] @
Hvala Vam puno na dobrim idejama. Znate li neku dobru zbirku koju mogu naći sa rešenim zadacima? Korisnički nivo, srednji-napredni! Šta mislite o ovoj zbirci http://knjige.kombib.rs/uvod-u...dataka-iz-programskog-jezika-c,

EDIT: X Files
[ sasaz2008 @ 09.04.2010. 10:35 ] @
Hash algoritam je upravo ono što se upotrebljava u ovakvim slučajevima.