Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj potřebuju pomoct s ejdním prográmkem, jde o to že má sčítat Římská čísla. Napsal jsem si tedy dvě funkce, které převádějí číslo z Římských číslic do desítkové soustavy a obráceně (no problemo), problem však nastává když ona dvě čísla chci sečíst nebo odečíst....
procedure zpracuj(kalkulus : string); {kalkulus je string s celou operací která na jedno řádku, takže třeba I+I+I} var pomocne : string; delka, k, vysledek, cislo : integer; znamenko, zacatek : boolean; begin k := 1; vysledek := -MAXINT; delka := length(kalkulus); znamenko := false; zacatek := TRUE; pomocne := ''; while k < delka+1 do begin while ((kalkulus[k] <> '-') and (kalkulus[k] <> '+') and (k < delka+1)) do begin pomocne := pomocne + kalkulus[k]; Inc(k); end; cislo := ZRimskych(pomocne); if (zacatek and (pomocne <> '')) then {pokud je znaménko na začátku operace, tak se má ignorovat či-li -V+V je X a ne O} begin vysledek := cislo; zacatek := false; end else if znamenko then vysledek := vysledek + cislo else vysledek := vysledek - cislo; if kalkulus[k] = '+' then znamenko := TRUE; pomocne := ''; Inc(k); {writeln(vysledek);} end; DoRimskych(vysledek); end;
U mě v pc to funguje super správně, ale CodeX mi hlásí 4krát Wrong Answer :(
Offline
↑ Ashrak:
Vzdyt to mas cely nejaky vachrlaty...Co je tohle?
while ((kalkulus[k] <> '-') and (kalkulus[k] <> '+') and (k < delka+1)) do
Tenhle cyklus nikdy nenastane leda bys měl v tom řetězdi na jednom místě + a -
EDIT...moje chyba...
Offline
Inspirace rimske kalkulacky co vi vsechny matematicke operace aj s rimskymi cisli v kombinacii s dekadickymi aj desetinnymi, zavorkami, zaporne cisla, siny, kosiny:
http://www.hackmath.net/cz/kalkulacka/rimska-cisla
Samozrejme Rimske cisla maji omezeny rozsah - bezne do 5000, neznaji zapor, nemaji desetinnu tecku, tzv. vysledek se nemusi dat vzdy zobrazit ako rimske.
Offline
Stránky: 1