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