Xdanger Δημοσ. 1 Οκτωβρίου 2005 Δημοσ. 1 Οκτωβρίου 2005 prospa8o na ftiakso ena algori8mo gia relative searching, vasika afto pu skeftika ine kapos poliploko ke logika 8a iparxi kati poio efkolo ke grigoro. afto pu skeftika itan na ftakso ena enum me ta gramata tu alfavitu p.x. enum abc me a=1, b=2 c.... ke meta na ftiaxno apo tin zitumeni leksi enan pinaka me tis diafores p.x i leksi ca ine to proto stixio tu pinaka 8a i diafora tu a me to c dld abc.a - abc.c ke meta na psaxni ta dio diplana bytes na exun tin idia diafora. afto bori na fenete aplo eksarxis alla stis megales leksis ine arketa diskolo. mipos gnorizi kapios kati poio efkolo? edit ~~ ~to programa 8a to ftiakso se c# alla den 8elo etimo kodiko alla kapoio poio efkolo tropo skepsis
alkisg Δημοσ. 2 Οκτωβρίου 2005 Δημοσ. 2 Οκτωβρίου 2005 Εξήγησε λίγο καλύτερα τι ζητάς. Έχεις ένα μάτσο λέξεις και θες να κάνεις αναζήτηση σε αυτές; Δυαδική αναζήτηση, hash κτλ δεν σου κάνουν; Οι λέξεις σου είναι σταθερές ή μπορεί να προστίθενται/αφαιρούνται κι άλλες; Μπορείς να τις έχεις μόνιμα ταξινομημένες ως προς κάτι; Το search string είναι σταθερό;
Xdanger Δημοσ. 2 Οκτωβρίου 2005 Μέλος Δημοσ. 2 Οκτωβρίου 2005 sta roms pexnidion gia nes, gba ktl. to keimeno den ine kodikopiimeno se ansi, to ka8e rom sini8os exi tin dikia tu kodikopiisi alla xrisimopiun ola ta ton idio kanona dld to a ine meta to b meta ine to c ke uto ka8eksis opote an ipo8esume oti to byte se morfi hex tu a ine 00 to b 8a ine 01. afto pu 8elo ine na vro ine ena tropo na vro pia hex value antistixi sto ka8e grama. edo 8a vris kapia alla programata tu idus pu exun ftiaxti http://rpgd.emulationworld.com/utils/#relsearch iparxun ke meriki hex editors me aftin tin dinatotita opos o hexecute pu iparxi edo http://www.zophar.net/utilities/hexutil.html
alkisg Δημοσ. 2 Οκτωβρίου 2005 Δημοσ. 2 Οκτωβρίου 2005 OK, got it. Τότε απλά πρέπει να κάνεις search με βάση τις διαφορές. Δηλαδή σου δίνουν το string ABD, εσύ ψάχνεις για A - A = 0 B - A = 1 D - A = 2 Δηλαδή αφαιρείς το (int)(πρώτο γράμμα) από όλα τα υπόλοιπα. Για να δεις αν υπάρχει match με το π.χ. ABF, θες ένα απλό while, στο οποίο θα τσεκάρεις ότι A - A = 0 B - A = 1 F - A = 4 => no match
Xdanger Δημοσ. 2 Οκτωβρίου 2005 Μέλος Δημοσ. 2 Οκτωβρίου 2005 afto ine aplo otan exis mikri leksi ke otan oloi i xaraktires exun to idio case alla ine poliploko stin periptosi tis frasis p.x. All is Ok. giati ektos apo ta gramata prepi na vriski ke tus ipolipus xaraktires komata kena 8avmastika k.t.l. sinexiste na dinete oloi tis idees sas vrika ke ego ena tutorial alla den to exo diavasi akomi isos mu dosi merikes idees ke afto.
alkisg Δημοσ. 3 Οκτωβρίου 2005 Δημοσ. 3 Οκτωβρίου 2005 Αν θες να είσαι case insensitive τότε απλά τα κάνεις κεφαλαία ΠΡΙΝ τις συγκρίσεις. Π.χ. All[3 κενά]is[5 tabs]OK! => ALL[1 κενό]IS[1 κενό]OK[1 κενό αντί για το θαυμαστικό] το ίδιο και στο search string και στο text. Οπότε εφαρμόζεται πάλι η προηγούμενη μέθοδος...
Xdanger Δημοσ. 3 Οκτωβρίου 2005 Μέλος Δημοσ. 3 Οκτωβρίου 2005 ne alla to a exi diaforetiki hex value apo to A ke prepi na tis vro ke tis dio values, giati skopos den ine na vro tin frasi alla otan 8a vro tin frasi na vro tis values gia na boreso na paro olo to kimeno apo to rom (telika to tutorial itan patata eksigouse tin xrisi afton ton programaton)
alkisg Δημοσ. 3 Οκτωβρίου 2005 Δημοσ. 3 Οκτωβρίου 2005 Δεν κατάλαβα τι δεν κατάλαβες! Αρχικό κείμενο: bdEI Uppercased κείμενο: BDEI Search string: iJ Uppercased search string: IJ 1st try: BD / IJ IJ relative to B: I - I + B = B J - I + B = C => IJ relative to B is BC, => no match 2nd try: DE / IJ IJ relative to D: I - I + D = D J - I + D = E => IJ relative to D is DE, => match η θέση λοιπόν που βρέθηκε είναι το 2 (2nd try), το οποίο είναι ο μετρητής σου (το i του while), και για να βρεις το αρχικό κείμενο κοιτάς το string ΑρχικόΚείμενο
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.