String-ként tárolt matematikai kifejezéseket/egyenletet hogy tudnék kiszámolni c++ban?
Figyelt kérdés
Tegyük fel van egy stringem, pl: string a="3-(2-1)"; Na most ha csak simán úgy kiiratom az eredményt hogy cout<<3-(2-1); akkor megkapom a jó választ, de az előbb létrehozott 'a' változóval kellene ugyanezt az eredményt elérnem. Csak külső library-s megoldásokat találtam eddig, de azt lehetőleg mellőzném.2021. nov. 3. 18:39
1/6 anonim válasza:
Ehhez komoly előtanulmányok kellenek.
2/6 anonim válasza:
PEMDAS szabály, shunting yard, Abstract syntax tree, stb.
3/6 anonim válasza:
Sehogy, fell kell bontani számokra és operátorokra, castolni a megfelelő tipusra, majd elvégezni a műveletet. Stringgel nem tud számolni a gép.
4/6 anonim válasza:
Az nem elég.
Feltételezem, hogy általábos algoritmust keres a kérdező. Tehát a kifejezés helyett más kifejezések kiértékelését is meg szeretné tudni oldani.
Ehhez kell egy precedencia szabály, egy infix to postfix konverzió és maga a végeredményt adó számítás.
5/6 anonim válasza:
Nem értem miért bonyolítod az életed, ittvan .c és .h fajlbol álló könyvtár erre: [link]
Ezenkívül még találtam párat. Ha nem menne a beuzemeltetese, írj es segítek.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!