Forum » Programiranje » V cem je finta kalkulatorja ki naj prebere POSTFIKSNO OBLIKO
V cem je finta kalkulatorja ki naj prebere POSTFIKSNO OBLIKO
Krushi ::
Zdravo,
ura je že blizu polnoči in jaz se še vedno mučim z problemom iz programiranja. Pri vajah na faksu smo dobili nalogo napisati sledeci program:
Napišite preprost kalkulator, ki prebere izraz zapisan v postfiksni obliki in ga ovrednoti ter rezultat izpiše.
Števila so cela, operatorji so +, -, *, /, ^ (plus, minus, krat, deljeno in potenca).
Med števili in operatorji so presledki, tako lahko berete s cin.
Predpostavite, da so izrazi pravilno formirani.
Primeri:
Vhod: 1 2 +
Izhod: 3
Vhod: 3 2 ^
Izhod: 9 -- razlaga: 3^2
Vhod: 2 3 4 + *
Izhod: 14 -- razlaga: 2 * (3 + 4)
Ni mi potrebno zaj pisat ravno celega surce koda ampak samo če mi kdo lahko namigne kako se lotiti problema,
ker so nam pozabli razložit toto finto s postfiksnim kalkulatorjem...
Za vsak nasvet sem hvaležen... Ajd
ura je že blizu polnoči in jaz se še vedno mučim z problemom iz programiranja. Pri vajah na faksu smo dobili nalogo napisati sledeci program:
Napišite preprost kalkulator, ki prebere izraz zapisan v postfiksni obliki in ga ovrednoti ter rezultat izpiše.
Števila so cela, operatorji so +, -, *, /, ^ (plus, minus, krat, deljeno in potenca).
Med števili in operatorji so presledki, tako lahko berete s cin.
Predpostavite, da so izrazi pravilno formirani.
Primeri:
Vhod: 1 2 +
Izhod: 3
Vhod: 3 2 ^
Izhod: 9 -- razlaga: 3^2
Vhod: 2 3 4 + *
Izhod: 14 -- razlaga: 2 * (3 + 4)
Ni mi potrebno zaj pisat ravno celega surce koda ampak samo če mi kdo lahko namigne kako se lotiti problema,
ker so nam pozabli razložit toto finto s postfiksnim kalkulatorjem...
Za vsak nasvet sem hvaležen... Ajd
JerKoJ ::
s stalisca racunalnika je postfiksna oblika dalec najlazja oblika
za izracun izraza saj se uporablja le sklad pri izracunu in tudi
oklepajev pri tej obliki ni (tudi pri prefiksni ne ampak ...)
vse kar je treba narediti je brati vhod in se glede na vhod odlociti :
1 ce gre za stevilko potem jo shrani na sklad
2 ce ne doloci za kater operator gre potegni dve stevili dol s sklada in na njima uporabi dani operator,
rezultat pa shrani na sklad
3 ce je vhod prazen potem izpisi vrednost sklada
eto primer : 3 2 ^ 2 +
seveda ni tezko ugotoviti da je 3 2 2 ^ + enako 7
stvar se da izboljsati se z lovljenjem napak
mogoce se da vpeljati tudi kaksne unarne operatorje !
kaksne druge znanosti pa tukaj ni
za izracun izraza saj se uporablja le sklad pri izracunu in tudi
oklepajev pri tej obliki ni (tudi pri prefiksni ne ampak ...)
vse kar je treba narediti je brati vhod in se glede na vhod odlociti :
1 ce gre za stevilko potem jo shrani na sklad
2 ce ne doloci za kater operator gre potegni dve stevili dol s sklada in na njima uporabi dani operator,
rezultat pa shrani na sklad
3 ce je vhod prazen potem izpisi vrednost sklada
eto primer : 3 2 ^ 2 +
sklad : / | vhod : 3 2 ^ 2 + | alg: na vhodu je st zato jo daj na sklad |
sklad : 3 | vhod : 2 ^ 2 + | alg: na vhodu je st zato jo daj na sklad |
sklad : 3 2 | vhod : ^ 2 + | alg: na vhodu je operator zato ga uporabi - 3^2=9 in rezultat shrani na sklad |
sklad: 9 | vhod: 2 + | alg: na vhodu je st zato jo daj na sklad |
sklad: 9 2 | vhod: + | alg: na vhodu je operator zato ga uporabi - 9+2=11 in rezultat shrani na sklad |
sklad: 11 | vhod: / | alg: na vhodu ni nic zato izpisi rezultat |
seveda ni tezko ugotoviti da je 3 2 2 ^ + enako 7
stvar se da izboljsati se z lovljenjem napak
mogoce se da vpeljati tudi kaksne unarne operatorje !
kaksne druge znanosti pa tukaj ni
Krushi ::
Kaj se mogoce ves ki bi lahko dobil vec primerov surce koda za objektno programiranje... LP
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Postfiksni izraz - računanjeOddelek: Šola | 1723 (1362) | lebdim |
» | [ASM] Pomoč, ne najdem napakeOddelek: Programiranje | 1089 (965) | c0dehunter |
» | aritmetični oparatorOddelek: Programiranje | 906 (746) | boogie_xlr |
» | [C#]Računanje iz stringa?Oddelek: Programiranje | 1323 (1185) | jernejl |
» | pomoc pri skladuOddelek: Programiranje | 1316 (1241) | NoUse4AName |