8 mavzu: Murakkab saralash algoritmlari. Amaliy dasturlash Reja


Large Integer sinfining qo‘llanilishi



Download 184,65 Kb.
bet12/14
Sana06.08.2022
Hajmi184,65 Kb.
#846556
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
8-m

Large Integer sinfining qo‘llanilishi. Ko‘p sonli hisoblashlar standart maʻlumot turlarining cheklanishidan tashqariga chiqish, cheksiz katta sonlar bilan ishlash, hajmi faqat mashinaning hisoblash kuchi bilan cheklanadi. Bunga qanday erishish mumkin? Eng mantiqiy yo‘li massiv yozish va standart tip raqamlar izchil massiv uchun maxsus tarzda aylantirish.
Misol uchun, 123456789123456789 raqamini qanday saqlashingiz mumkin, u int tipiga mos kelmaydi. Uni qo‘yish uchun, int tipidagi massiv olish mumkin, arr[0] = 123456, arr[1] = 789123, arr[2] = 456789, bunday yozishni maxsus usullari deb bo‘ladi. Shuningdek, to‘g‘ri kiritilsa, qo‘shish, ayirish, ko‘paytirish va bo‘lish amallarini yozish mumkin.
Endi maxsus Bignumber sinfini amalga oshirishni boshlaymiz va qo‘shish, ayirish uchun. Bu sinf bilanishlashda izohlar bilan dastur fragmentini to‘liq keltirilgan. Dastur fragmentiga qarab izohlarni o‘qishingiz mumkin.
Katta sonni initsializasiya qilish. Quyidagicha kiritish ishlari sifatida Bignumber(string str) sinf konstruktori mavjud. Satrning oxiridan boshlab joriy uzunlikdagi substringlar tanlanadi, raqamlarga aylantiriladi va qismlar vektoriga beriladi. Satrda manfiy ishora bor-yo‘qligiga qarab sinfning boshqa xususiy sohasi initsializatsiya qilinadi. Baʻzan normallashtirishda ziddiyatlar bo‘lmasligi uchun sinfning barcha obʻyektlari uchun bir xil bo‘lgan statik doimiy maydon ishlatiladi.
Katta sonlarni qo‘shish. + operatorini qayta yuklaymiz, bu esa o‘z navbatida ikkita katta sonni qo‘shadigan _plus() usulini chaqiradi. Bundan tashqari, har ikki raqamlar qismlarini, massiv bir xil hajmli qilish kerak. Bundan keyin esa natijani _normalization() funksiyasi bilan normallashtiring.
Katta sonlarni ayirish. Chiqarish qo‘shish uchun xuddi shunday ishlaydi, — operatori qayta yuklanadi va _minus () usulidan foydalaniladi.
Katta son oqimga chiqarish. Chiqish << operatorini qayta yuklashdan kelib chiqadi, lekin chiqishning o‘zidan oldin sonni _normalization() funksiyasi normallashtirishi kerak. U barcha nol bo‘laklarni, bo‘laklardagi manfiy sonlarni tozalab, sonni oqimga berishi kerak.

Download 184,65 Kb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish