Stránka 1 z 1
Prohození čísel
Napsal: 23 lis 2017 11:48
od tyna1098
Ahoj, mám v C# program na vypsání prvočíselných dvojic s tím, že na začátku zadáte interval, ze kterého je chcete najít. A já bych chtěla ošetřit, když někdo poplete hodnoty a zadá nejdřív třeba 22 a pak 11, aby se čísla prohodili a normálně je vypsalo.
A trochu se mi to nedaří. Prosím radu :).
Re: Prohození čísel
Napsal: 23 lis 2017 12:07
od atari
To je triviální programátorská záležitost, popíšu slovy kod:
Když Prvnicislo je větší než Druhecislo potom:
Pomocna = Prvnicislo
Prvnicislo = Druhecislo
Druhecislo = Pomocna
Dodatečně přidáno po 26 minutách 1 vteřině:
Předpokládám, že jsi ten program nepsal, když nezvládáš tohle, takže bych ti to napsal v kodu, ale C# neumím. Na netu však najdeš tisíce návodů...
Re: Prohození čísel
Napsal: 23 lis 2017 13:11
od tyna1098
jo jasně dík
Re: Prohození čísel
Napsal: 23 lis 2017 13:43
od CZechBoY
Dá se i aritmeticky bez použití dočasné proměnné.
Pokud nevadí angličtina:
http://www.geeksforgeeks.org/swap-two-n ... -variable/
Re: Prohození čísel
Napsal: 23 lis 2017 14:45
od atari
To je taky dobrý nápad, vypadá to cool, ale já to nedoporčuji, obzvlášť začátečníkům. Kód je stejně dlouhý, ale hůře se v tom vyznají, co to tam je za matematické operace a z jakého důvodu.
Smysl by to mělo jedině v případě, kdy je potřeba šetřit pamět, a tímto se ušetří jedna proměnná. V dnešní době to však považuji za bezvýznamné.
Re: Prohození čísel
Napsal: 23 lis 2017 15:50
od faraon
Zbytečně dlouhé
Ale pro běžné účely bych to nepoužíval, leda že by šlo o soutěž v programátorské akrobacii

Re: Prohození čísel
Napsal: 23 lis 2017 16:39
od atari
Co to je prosím? Pokud si vzpomínám tak to je nějaký logický operátor.
Re: Prohození čísel
Napsal: 23 lis 2017 19:22
od faraon
Bitový xor. Totéž jde udělat i s plusy a mínusy, ale tohle je takové hezčí na pohled
