Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako izracunati izraz koji je u stringu

[es] :: .NET :: Kako izracunati izraz koji je u stringu

[ Pregleda: 2628 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bokacio

Član broj: 189612
Poruke: 112
*.adsl-1.sezampro.rs.



+27 Profil

icon Kako izracunati izraz koji je u stringu12.05.2011. u 00:07 - pre 157 meseci
Pozdrav,

Zanima me kako je, i da li je moguce izracunati izraz koji je dat kao string. Primer:

string s = "10 - 5 - 2";
double d = ...izracunat izraz...

Trazio sam po internetu i helpu, ali nisam uspeo da nadjem kako ovo da resim. Ukoliko moram rucno da parsiram ovaj string, da li neko moze da mi ustedi vreme i da mi link na kom se nalazi neki dobar lightweight parser.

Potrebno mi je da racuna samo ovako proste izraze, ukoliko naravno to nije moguce uraditi direktno iz C#-a.

Hvala puno!
 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
..106.109.adsl.dyn.beotel.net.

ICQ: 20785904


+4 Profil

icon Re: Kako izracunati izraz koji je u stringu12.05.2011. u 00:47 - pre 157 meseci
http://en.wikipedia.org/wiki/Reverse_Polish_notation
 
Odgovor na temu

Bokacio

Član broj: 189612
Poruke: 112
*.adsl-1.sezampro.rs.



+27 Profil

icon Re: Kako izracunati izraz koji je u stringu12.05.2011. u 01:01 - pre 157 meseci
Hvala na linku. Moze mi pomoci da sam sagradim parser.

Ali ako neko ima gotovo resenje, neka posalje, da ustedim vremem i izbegnem greske.
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
212.200.241.*



+104 Profil

icon Re: Kako izracunati izraz koji je u stringu12.05.2011. u 01:21 - pre 157 meseci
za početak

http://odetocode.com/Code/80.aspx



Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

Bokacio

Član broj: 189612
Poruke: 112
*.adsl-1.sezampro.rs.



+27 Profil

icon Re: Kako izracunati izraz koji je u stringu12.05.2011. u 01:26 - pre 157 meseci
Hvala i Vama na linku.

Ali, zanimljiv mi je ovaj Poljski algoritam. Samo me zanima da li neko ima funkciju koja priprema izraz pred obradu; koja ovo:

5 + ((1 + 2) * 4) − 3

pretvara u

5 1 2 + 4 * 3 - +

Hvala
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: Kako izracunati izraz koji je u stringu12.05.2011. u 09:34 - pre 157 meseci
Jel mora da bude parser, zar ne možeš prosto da daš .net mašini da izračuna? Ono kao, napraviš string sa c# kodom i dinamički ga kompajliraš i izvršiš?

Ako ti to ne pomaže pogledaj ovo, zna sam da parsuje izraze a vredosti promenljivih mu dostavljaš u eventima (npr. izraz 2*a + 16 će da okine event u kome ćeš da mu kažeš kolio je a)
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

Zevs85
Zeljko Todorovic
Novi Sad, Sabac

Član broj: 24612
Poruke: 325
212.200.139.*



+21 Profil

icon Re: Kako izracunati izraz koji je u stringu12.05.2011. u 12:40 - pre 157 meseci
Mozes napraviti metodu u nekom Iron (IronPython) skript jeziku kome samo prosledis zeljeni izraz.
Mada, jos lakse, mozes napraviti neku praznu tabelu kojoj ces dodati jednu kolonu sa izrazom koji hoces da obradis (http://msdn.microsoft.com/en-u...ata.datacolumn.expression.aspx).
 
Odgovor na temu

pexi92
nema

Član broj: 264108
Poruke: 50
*.dynamic.isp.telekom.rs.



+3 Profil

icon Re: Kako izracunati izraz koji je u stringu12.05.2011. u 13:19 - pre 157 meseci
Citat:
Bokacio: Hvala i Vama na linku.

Ali, zanimljiv mi je ovaj Poljski algoritam. Samo me zanima da li neko ima funkciju koja priprema izraz pred obradu; koja ovo:

5 + ((1 + 2) * 4) − 3

pretvara u

5 1 2 + 4 * 3 - +

Hvala


Vrlo lako koriscenjem stack-a. Potrazi prebacivanje iz infix u postfix notaciju. Takodje mozes i da konstruises stablo izraza i da rekurzivno racunas vrednost.
 
Odgovor na temu

[es] :: .NET :: Kako izracunati izraz koji je u stringu

[ Pregleda: 2628 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.