Differences
This shows you the differences between two versions of the page.
miniraeknare [2017-09-01 14:54] |
miniraeknare [2022-07-18 13:20] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Miniräknare ===== | ||
+ | Skriv en miniräknare som jobbar med omvänd polsk notation. Detta sätt att evaluera uttryck tycker jag är överlägset det traditionella sättet (HP:s räknedosor använder ofta detta sätt). | ||
+ | Det räcker att er räknare klarar de fyra räknesätten och att nollställa räknaren, dvs tömma stacken (+,-,*,/,c) | ||
+ | |||
+ | ex. | ||
+ | |||
+ | Uttrycket (4+5)*(6-7) | ||
+ | slår man in på följande sätt | ||
+ | 4 ¶ 5 ¶ + ¶ 6 ¶ 7 ¶ - ¶ * ¶ | ||
+ | Där ¶ betyder " | ||
+ | |||
+ | Stacken kommer att se ut som följande under inmatningen. | ||
+ | |||
+ | Stackens utseende. | ||
+ | 7 | ||
+ | 5 6 6 -1 | ||
+ | 4 4 9 9 9 9 -9 | ||
+ | | ||
+ | |||
+ | Ett körbart [[http:// | ||
+ | |||
+ | En sida [[http:// | ||
+ | |||
+ | <code cpp> | ||
+ | // Ni skall lagra era värden i en STL-stack av double | ||
+ | // Ni får läsa hur en stack funkar i boken och på www.cppreference.com | ||
+ | #include < | ||
+ | |||
+ | int main(){ | ||
+ | stack < | ||
+ | } | ||
+ | </ | ||