Yapmaya çalıştığım program bir hesap makinesi fakat giriş string formda olacak ve bilimsel hesap makinesi fonksiyonlarını kullanacak yani işlemleri,matematik fonksiyonlarını ve işlem önceliklerini tanıyıp çözümleyebilecek
örn; (3+5*8)/(7*4-6%(8*9-3)) şeklindeki bir işlemi çözümleyecek,parantez ve operatorlere göre işlem önceliğini de hesaba katacak
yığın veri yapısı veya bir ağaç ile çözmeye çalışıcam fakat algoritmayı tasarlayamadım bitürlü KOD İSTEMİYORUM yani beleşçilerden değilim , yalnızca yardım lazım fikirlerinizi almak için yazdım,cevaplayanlara teşekkürler
shunting-yard algoritmasına bi göz at. ifadeyi postfix forma dönüştürdükten sonra hesaplamayı yapmak çok daha kolay olacaktır.
basit bi konu değil, lexical parser şeklinde arama yap
eğer parçalayıcı hazır olsada olur diyorsan boost::spirit var bir incele
Burda örneği var.Infix tipindeki aritmetik yapıyı postfix e çeviriyor. Herbir rakam ve operatörü precedence(öncelik) ına göre stack e atıp tekrar postfix olarak çıkartıyor sonucu.zaten postfix çıktıktan sonra sırayla işlemleri yaparsan istediğin sonuca ulaşırsın
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme