Czy znasz scrabble ??? Jeżeli tak pomóż mi napisać pewną procedurę ...
Ma ona za zadanie wyszukać z pliku tekstowego wszystkie szukane wyrazy. problem polega na tym ,że szukany wyraz (czytaj:ciąg liter) może być w dowolnej kolejności np. KOT -> TOK , OTK itd. Plik tekstowy składa się z około 250 000 słów max. 8 liter . kolejny problem jest taki ,żę można mu podać 8 liter i on sam wyszuka wszystkie wyrazy składające się z tych liter. Za pomoc z góry dziękuje
wszystkie szukane wyrazy
Jeżeli tak to chyba nie ma większego problemu. Najprościej byłoby załadować wszystkie wyrazy do pamięci (lepiej zrobić to dynamicznie), później posortować litery w wyrazie, którego szukasz i w dostępnych wyrazach, na koniec już tylko porównanie.
kolejny problem jest taki ,żę można mu podać 8 liter i on sam wyszuka wszystkie wyrazy składające się z tych liter.
Tu możesz zrobić tak samo j.w
Jeżeli cos źle zrozumiałem to proszę o komentarz.
Ma ona za zadanie wyszukać z pliku tekstowego wszystkie szukane wyrazy. problem polega na tym ,że szukany wyraz (czytaj:ciąg liter) może być w dowolnej kolejności np. KOT -> TOK , OTK itd. Plik tekstowy składa się z około 250 000 słów max. 8 liter
Przy zalozeniu, ze Cie dobrze zrozumialem...
...a zrozumialem tak: Podajemy 3 literki O, T, K i niech programek nam wyszuka jakie wyrazy z tego mozna ulozyc trzyliterowe.
Ja bym to zrobil tak:
- Wczytalbym 1. wyraz z tego pliku tekstowego.
- Sprawdzilbym, czy ilosc znakow (w tym przypadku liter) jest taka sama jak ilosc liter z ktorych musze ulozyc wyraz. Jesli nie to wczytuje kolejny wyraz. Jesli tak, to patrz pkt3.
- sprawdzilbym czy pierwsza litera wczytanego wyrazu jest jedna z podanych liter. Jesli nie to wczytuje kolejny wyraz. Jesli tak to wczytuje kolejna litere. Jesli juz skonczy nam sie wczytane slowo to akceptujemy to slowo (czyt. z podanych liter mozna ulozyc wlasne to slowo i wczytujemy nastepne.
kolejny problem jest taki ,żę można mu podać 8 liter i on sam wyszuka wszystkie wyrazy składające się z tych liter. Za pomoc z góry dziękuje
Przy zalozeniu, ze Cie dobrze zrozumialem...
...a zrozumialem tak: Podajemy 8 liter i niech programek nam wyszuka jakie wyrazy z tego mozna ulozyc o dowolnej dlugosci.
Ja bym to zrobil tak:
- Wczytalbym 1. wyraz z tego pliku tekstowego.
- sprawdzilbym czy pierwsza litera wczytanego wyrazu jest jedna z podanych liter. Jesli nie to wczytuje kolejny wyraz. Jesli tak to wczytuje kolejna litere. Jesli juz skonczy nam sie wczytane slowo to akceptujemy to slowo (czyt. z tych osmiu liter mozna ulozyc wlasne to slowo) i wczytujemy nastepne.
UWAGA!!! Kolego, musisz sobie skolowac inny slownik, poniewaz w scrablach nie jest powiedziane, ze maxymalna dlugosc wyrazu to 8 liter. Przeciez mozesz dolozyc te swoje 8 liter do litery znajdujacej sie juz na planszy i masz wyraz 9 - cio literowy.
CIEKAWOSTKA ODNOSNIE SKRABLI
Zapewne wiecie, ze w j. polskim jest taki skomplikowany spojnik jak "i"...
...ale kto by pomyslal, ze jest taki wyraz jak "ii" :-0
...ale co najciekawsze ansz kochany j. polski jest takze zaopatrzony w taki ciekawy wyraz jak "iii" 8-0
BTW. Mam nadzieje, ze zrozumialem co ma wykonywac Twoja procedurka
<font color="green"> Najprościej byłoby załadować wszystkie wyrazy do pamięci</span>
hm.. jeśli tych wyrazów ma być 250 000 każdy po 8 liter :) to policz sobie 250 00084 (dlatego 4 bo typ string ma 4 bajty) to zajmiesz sporo pamęci (jak sie myle poprawcie)
<font color="green"> Najprościej byłoby załadować wszystkie wyrazy do pamięci</span>
hm.. jeśli tych wyrazów ma być 250 000 każdy po 8 liter :) to policz sobie 250 00084 (dlatego 4 bo typ string ma 4 bajty) to zajmiesz sporo pamęci (jak sie myle poprawcie)
BHUHAHAHA!!! Te 4 bajty to WSKAŹNIK, sam string może być znacznie dłuższy! MYŚL! wystarczy porównać: w zmienną string można wepchać np. tekst 'abcdefgh'. To jest 8 bajtów. A jak chcesz zmieścić 8 w czterech? Poza tym czemu już 84? Jesdna zmienna=jeden znak? 2500008 wystarczy. To jest 20000000 bajtów czyli 1953Kb czyli 1,9Mb. Nie tak dużo.
qrcze napisałem jak sie myle to poprawcie :P a nie wyśmiejcie ale ....
Tu już nie chodzi o tą pamięć, napisałem, że to będzie najłatwiejsze do skodowania. Można to zrobić przy wykorzystaniu minimum pamięci.
Ważne, żeby pomoć człowiekowi...
Czy znasz scrabble ??? Jeżeli tak pomóż mi napisać pewną procedurę ...
Ma ona za zadanie wyszukać z pliku tekstowego wszystkie szukane wyrazy. problem polega na tym ,że szukany wyraz (czytaj:ciąg liter) może być w dowolnej kolejności np. KOT -> TOK , OTK itd. Plik tekstowy składa się z około 250 000 słów max. 8 liter . kolejny problem jest taki ,żę można mu podać 8 liter i on sam wyszuka wszystkie wyrazy składające się z tych liter. Za pomoc z góry dziękuje
Dzięki wszystkim za pomoc !!! :-)