Pomoc DU – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc DU – Pascal – Fórum – Programujte.comPomoc DU – Pascal – Fórum – Programujte.com

 

Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
12. 12. 2007   #1
-
0
-

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?

Nahlásit jako SPAM
IP: 82.202.12.–
nickJartin
~ Anonymní uživatel
33 příspěvků
12. 12. 2007   #2
-
0
-

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

Nahlásit jako SPAM
IP: 147.251.53.–
Laaca
~ Anonymní uživatel
225 příspěvků
12. 12. 2007   #3
-
0
-

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

Nahlásit jako SPAM
IP: 195.113.79.–
Mircosoft+1
Věrný člen
13. 12. 2007   #4
-
0
-

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).

Nahlásit jako SPAM
IP: 89.176.249.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

Pomoc — založil Aikon

Pomoc — založil Michael

Pomoc — založil LordMorpheus

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý