banjalukaforum.com https://banjalukaforum.com/ |
|
Program u c++ ??? https://banjalukaforum.com/viewtopic.php?f=18&t=17961 |
Stranica 1 od 1 |
Autoru: | Vertygo [ 17 Jan 2006, 23:03 ] |
Tema posta: | |
Najbrzi nacin je preko regular expression-a http://www.codeproject.com/cpp/rexsearch.asp |
Autoru: | che.guevara [ 18 Jan 2006, 00:23 ] |
Tema posta: | |
Teško da će skontati RE. Bolje mućni svojom glavom! Stvar možeš riješiti veoma jednostavno, koristeći jednu petlju i pamteći zagrade. I nije mi jasno zašto bi vitičaste zagrade unutar uglastih zagrada bile nepravilne ? Doduše, ono ... Svejedno je opet. evo onako iz glave char* funkcija = "{2*[2-x*(1-y)]}"; int L = strlen(funkcija); char* zagrade; zagrade = new char[L]; int index=0; // e sad odavde ide pseudo kod int S = 3; ponavljaj: 1. nađi prvu otvorenu zagradu, ako nađeš na zatvorenu zagradu, izađi 2. sačuvaj poziciju zagrade u varijablu int S, a tip zagrade u int T (ako je vitišasta T=2, uglasta T=1, obična T=0), ako S nije manje od prethodno S, izađi jer raspored zagrada nije uredu 3. nađi zadnju zagradu,ako ne odgovara zagradi tipa zatvorena T na mjestu S onda izađi jer funkcija ne valja 4. ponavljaj postupak dok prilikom pretraživanja ne naiđeš na zagradu Eto to bi bilo nerekurzivno riješenje, ako koristiš lokalnu varijablu T i S i while petlju, a može biti i rekurzivno ako koristiš pozivanje funkcije umjesto while petlje (loše). Nadam se da više od ovoga nije potrebno, svjedno ako baš ne znaš, pomoćićemo ti, ionako nemamo pametnija posla sad u zimu ![]() |
Stranica 1 od 1 | Sva vremena su u UTC [ DST ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |