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/