ahoj, mam mensi problem s ukolem ......
Na vstupu jsou dána dvě přirozená čísla zapsaná v hexadecimální soustavě (tzn. v poziční číselné soustavě o základu 16). Každé číslo je zapsáno na samostatném řádku, může mít až 100 hexadecimálních cifer, jeho zápis je korektní (víte navíc, že jistě nezačíná nulou). Jako cifry s hodnotami 10 až 15 se v zápisu používají malá písmena „a“ až „f“, nebo velká písmena „A“ až „F“, obě možnosti jsou povoleny a jsou zcela rovnocenné, v zápisu jednoho čísla se dokonce mohou malá a velká písmena libovolně střídat. Příklad správného vstupu:
123AF6DD
a5c7ee44Ea
Napište program, který určí a vypíše na výstup to ze zadaných čísel, které má větší hodnotu (příp. zprávu, že obě zadané čísla mají hodnotu stejnou). nevíte náhodou někdo jak na to?
Fórum › Pascal
Pomoc DU
tak jak bych to asi programoval ja:
-- alokoval bych si dve pole char o 100 prvcich
-- nacetl bych si ty dve cisla znak po znaku a pamatoval si, kolik maji cifer
-- porovnal bych pocet cislic. Pokud ma jedno cislo vice cislic, tak je trivialne vetsi
-- pokud pocet cislic je stejny, tak bych projel v cyklu obe pole dokud bych nenasel rozdilne cislice, ty bych porovnal a vypsal vetsi cislo
-- cisla jsou stejne pokud maji stejny pocet a stejne cislice
1) porovnáš počet číslic. To, které jich má víc, je větší. Pokud jich mají stejně, tak přejdeš na bod 2
2) pomocí cyklu budeš procházet obě čísla po jednotlivných cifrách s převodem na velká písmena:
a:=UpCase(prvni[i]);
b:=UpCase(druhe[i]);
if a>b then prvni_je_vetsi else if b>a then druhe_je_vetsi else pokracuj_v_cyklu
Ještě poznámka, proč to takhle funguje. Číslice i písmena bereme jako znaky a ty jsou uspořádány za sebou v ASCII tabulce. Nejdřív jsou tam číslice '0'..'9', potom velká písmena 'A'..'Z' a nakonec malá písmena 'a'..'z' (ta ale převedeme na velká) a různé další znaky mezi nimi. Takže v porovnání s kteroukoli číslicí vychází kterékoli písmeno vždy větší. Písmena se mezi sebou porovnávají podle pořadí v ASCII tabulce (tj. podle abecedy).
Moje stránka.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Pomoc.... nějaká chybka prosím pomoc - více v podrobném popisu — založil tkstudent
Pomoc, pomoc s úkolem (matice v Delphi) — založil maxikp
Moderátoři diskuze