Hirdetés
- ASUS notebook topic
- Amlogic S905, S912 processzoros készülékek
- Hertzkirály OLED monitorokat dobott piacra az ASUS
- Azonnali notebookos kérdések órája
- Impozáns lesz a következő Intel CPU generáció csúcsmodellje - is
- Vezeték nélküli fülhallgatók
- Melyik a legerősebb Low Profile VGA kártya?
- Milyen processzort vegyek?
- Pánikban a világ a Radeon RX 5000 és 6000 sorozat támogatása miatt
- Szombati hardverbüfé
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
Tangerine
#1266
üzenetére
a legkézenfekvőbb, nem túl elegáns viszont újrafelhasználható kódot produkáló elgondolás:
a számrendszerek közötti átváltáshoz összeadásra és szorzásra van szükség. a szorzás visszavezethető összeadásra és számjeggyel való szorzásra.
először is: ajánlom, hogy tömb helyett string-ben tárold a hosszú számaidat, ott ugyanis a string[ 0 ] jelöli a hosszát, könnyebben tudsz számolni vele. (ha jól emlékszem, tömbnél nincs ilyen)
tehát ami kell:
- függvény ami megszoroz egy számot egy számjeggyel. a szám természetesen string/tömb, ezért számjegyenként kell megszorozni, tárolva azt a számjegyet, amit átviszünk.
- függvény ami összead két nagy számot - szintén számjegyenként, tárolva a számjegyet amit átviszünk. ügyelni kell arra, hogy ugyanolyan hosszúak legyenek, tehát a rövidebben ki kell egészíteni balról 0 számjegyekkel.
- függvény ami hozzáilleszt néhány nullát egy nagy számhoz (átírja a string hosszát, 0-kat pakol a végére) - ez a szorzáshoz kell.
a szorzás pl. valami hasonló lesz (ez nem feltétlenül helyes pascal kód, inkább csak szemléltetés)
a, b, eredmeny:nagyszam;
eredmeny:=''0'';
for pos:=length(b) downto 1 do
begin
eredmeny:=osszead(hozzair(szamj_szoroz(a,b[ pos ])),length(b)-pos);
end;
pos jelöli, b végétől számítva hanyadik számjegynél tartunk
vagyis megszorozzuk a-t b aktuális, pos által jelölt számjegyével, az eredményhez jobbról hozzáírunk annyi nullát, ahányadik karakternél tartunk éppen (length(b)-pos) és az egészet hozzáadjuk az eredményhez (ami ugye kezdetben nulla).
a többi függvény megírása ennél egyszerűbb szerintem, azt rád bízom.
Új hozzászólás Aktív témák
- Suzuki topik
- ASUS notebook topic
- Robotporszívók
- Amlogic S905, S912 processzoros készülékek
- Gitáros topic
- alza vélemények - tapasztalatok
- exHWSW - Értünk mindenhez IS
- Építő/felújító topik
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- További aktív témák...
- Több db Nvidia Quadro M4000 8GB GDDR5 videokártya számlával
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RTX 3070Ti / 32GB DDR5 / 1TB SSD!
- Amazon Kindle 10th Generation ébresztős tok
- Samsung Galaxy S24+ 256GB,Újszerű,Kabellel, 12 hónap garanciával
- HIBÁTLAN iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3432
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


