[ anon68680 @ 09.10.2005. 20:14 ] @
kako da recimo da generisem neki string na fazonu : aaa aab aac aad... aaz aba abc... dok se taj string ne poklopi sa nekim drugim stringom? |
[ anon68680 @ 09.10.2005. 20:14 ] @
[ nnn @ 09.10.2005. 22:28 ] @
Code: var nnn,nnn1:string[50]; i,d:integer; begin nnn1:='nik'; //Sa ovim uporedjujes nnn:=chr(1); i:=1; //duzina stringa je jedan d:=1; while (true) do begin if d < 256 then begin nnn[i]:=chr(ord(nnn[i])+1); d:=d+1; end else begin i:=i+1; nnn:=nnn+chr(1); nnn[i]:=chr(ord(nnn[i])+1); d:=1; end; if (nnn=nnn1) then break; end; ShowMessage(nnn); //pokazes string koji si dobio end; Ja sam ovako zamislio. Nisam ga testirao, testiraj ga pa javi sta se desava. [ Trodmi @ 09.10.2005. 23:25 ] @
Pa reci prijatelju da je problem u konacnim automatima
[ Nemanja Avramović @ 09.10.2005. 23:29 ] @
inace, to se zove brute-force :)
[ anon68680 @ 10.10.2005. 13:59 ] @
da znam da se to zove bruteforce ali da sam to napisao topic bi verovatno bio izbrisan :> anyway ovaj kod sto si dao ne radi.. izbacuje neki access violation
[ Nemanja Avramović @ 10.10.2005. 15:16 ] @
ne bi bio izbrisan topic... evo i ja sam ranije pitao to, ali nisam uspeo... ako ti uspes - javi:
http://www.elitesecurity.org/tema/92652/0#596806 http://www.elitesecurity.org/tema/7656/0#57380 [ Srki_82 @ 10.10.2005. 17:13 ] @
Evo koda... samo imajte u vidu da je uzasno spor (nije pisan u asm, koristi long string, cesto poziva setlength, poziva application.proccessmessages, prikazuje text u label...) tako da ce mu za rec od 4 slova trebati mnoooooooooooooooooogo vremena. Jedina optimizacija je sto se proveravaju samo karakteri od #32 do #126. Program provereno radi.
[ Nemanja Avramović @ 10.10.2005. 20:21 ] @
eeeeee hvala srki!!
[ Srki_82 @ 10.10.2005. 21:16 ] @
Nema problema... ovaj kod se lako da izmenuti da proverava samo odredjene karaktere (npr. samo "ASDFGasdfg")... samo ga treba optimizovati
![]() Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|