logo

C++ dasturlash tilining ios, locale va set kutubxonalari funksiyalari bilan ishlash

Загружено в:

08.08.2023

Скачано:

0

Размер:

1290.134765625 KB
Mavzu:  C++ dasturlash tilining   ios,  locale va set
kutubxonalari funksiyalari bilan ishlash
Reja:
1.  Kirish.
2.  C++ dasturlash tilining  ios,  locale va set 
kutubxonalari funksiyalari.
3.  Foydalanilgan adabiyotlar.                                     Kirish
    C++ dasturlash tili nomi C dasturlash tilidan kelib chiqqan bq`lib, ++ belgisi 
inkrement amali, ya`ni o'zgaruvchining qiymatini bittaga oshish amalidan 
olingan. C ++ dasturlash tili turli xil amaliy dasturlarni yaratish, operatsion 
tizimlarni, qurilma drayverlarini, shuningdek video o'yinlarni va boshqalarni 
yaratish  uchun keng qo'llaniladi.
      C ++ dasturlash tili 1980-yillarning boshlaridaBell Laboratories firmasi 
xodimi Byorn Stroustrup tomonidan yaratilgan. Axborot kommunikatsion 
texnonologiyalarini taraqqiy etishida bevosita dasturlash tillarining o’rni beqiyos.
Ayniqsa, hozirgi davrga kelib C++, Java, Delphi dasturlash tillar yordamida 
shaxsiy kompyuterlar uchun amaliy dasturiy to’plamlardan tashqari SmartPhone 
va Planshetlar uchun operatsion tizim (iOS, Android, Windows mobile, Symbian
va h.k) va ilovalar yaratilmoqda.
  Informatsion texnologiyalarning yana bir muhim jihatlaridan biri
shundaki, bu fan jadal sur’atlarda o‘sib, yil sayin yangidan-yangi yo‘nalishlarga,
mutaxassisliklarga tarmoqlanib ketmoqda: algoritmik, mantiqiy, obyektga
yo‘naltirilgan, vizual, parallel dasturlash texnologiyalari, animatsiya,
multimediya, Web, ma’lumotlar bazasini boshqarish tizimlari, ko‘p prosessorli,
neyron arxitekturali kompyuterlar va hokazo. Ko‘rinib turibdiki, informatika
4 meta fan darajasiga ko‘tarilib, uni bitta o‘quv kursi chegarasida to‘liq
o‘zlashtirishning imkoni bo‘lmay qoldi.
Informatsion texnologiyalar sohasi bo‘yicha rus va ingliz tillarida
qo‘llanmalar juda ko‘p chop etilmoqda. Oxirgi yillarda o‘zbek tilidagi
qo‘llanmalar ham ko‘payib qoldi.
Ushbu taklif etilayotgan qo‘llanma asosan C++ dasturlash tilini
o‘rganmoqchi bo‘lganlar uchun mo‘ljallangan. Shu sababli qo’llanmada C++ 
tiliga
bog’liq boshlang’ich ma’lumotlar yoritilgan. Bu qo’llanmadan C++ dasturlash
tilini o‘rganuvchilar, dastur tuzishni o‘rganayotganlar hamda “Dasturlash
asoslari”, “Informatika va dasturlash” fanlaridan olingan nazariy bilimlarni
mustahkamlash uchun foydalanishlari hisobga olingan. Ushbu qo‘llanmaga
kiritilgan ma’lumotlar dasturlashning bazaviy kursidagi deyarli barcha
bo‘limlarini, ya’ni skalyar turlar va boshqaruv operatorlaridan tortib,
ma’lumotlarning murakkab turlari kabilarni o‘z ichiga oladi.      2.    Berilganlarni qayta ishlash uchun dasturlash tillarida amallarning juda
keng majmuasi aniqlangan. Amal - bu qandaydir harakat bo‘lib, u bitta (unar)
yoki ikkita (binar) operandlar ustida bajariladi, hisob natijasi uning qaytaruvchi
qiymati hisoblanadi.
Ushbu qirralarning ochiq to'plamini belgilashingiz mumkin. Shuningdek, siz 
fasetlarning ixtiyoriy sonini belgilaydigan mahalliy ob'ektni yaratishingiz 
mumkin.
Ushbu qirralarning oldindan belgilangan guruhlari standart C kutubxonasida 
funksiya tomonidan boshqariladigan mahalliy toifalarnisetlocale ifodalaydi .
Turkum collate(LC_COLLATE) quyidagi jihatlarni o'z ichiga oladi:
C++
Nusxalash
collate<char>
collate<wchar_t>
Turkum ctype(LC_CTYPE) quyidagi jihatlarni o'z ichiga oladi:
C++
Nusxalash
ctype<char>
ctype<wchar_t>
codecvt<char, char, mbstate_t>
codecvt<wchar_t, char, mbstate_t>
codecvt<char16_t, char, mbstate_t>
codecvt<char32_t, char, mbstate_t>
Turkum monetary(LC_MONETARY) quyidagi jihatlarni o'z ichiga oladi:
C++
Nusxalash
moneypunct<char, false>
moneypunct<wchar_t, false>
moneypunct<char, true>
moneypunct<wchar_t, true>
money_get<char, istreambuf_iterator<char>>
money_get<wchar_t, istreambuf_iterator<wchar_t>>
money_put<char, ostreambuf_iterator<char>>
money_put<wchar_t, ostreambuf_iterator<wchar_t>> Turkum numeric(LC_NUMERIC) quyidagi jihatlarni o'z ichiga oladi:
C++
Nusxalash
num_get<char, istreambuf_iterator<char>>
num_get<wchar_t, istreambuf_iterator<wchar_t>>
num_put<char, ostreambuf_iterator<char>>
num_put<wchar_t, ostreambuf_iterator<wchar_t>>
numpunct<char>
numpunct<wchar_t>
Turkum time(LC_TIME) quyidagi jihatlarni o'z ichiga ola
Nusxalash
time_get<char, istreambuf_iterator<char>>
time_get<wchar_t, istreambuf_iterator<wchar_t>>
time_put<char, ostreambuf_iterator<char>>
time_put<wchar_t, ostreambuf_iterator<wchar_t>>
Turkum messages(LC_MESSAGES) quyidagi jihatlarni o'z ichiga oladi:
C++
Nusxalash
messages<char>
messages<wchar_t>
(Oxirgi toifa POSIX tomonidan talab qilinadi, lekin C standarti emas.)
  Ushbu oldindan belgilangan qirralarning ba'zilari iostreamraqamli qiymatlarni 
matn ketma-ketligiga aylantirishni boshqarish uchun sinflar tomonidan 
qo'llaniladi.
Sinf lokali ob'ekti mahalliy til nomini sinf satrining ob'ekti sifatida ham 
saqlaydi . Mahalliy faset yoki mahalliy ob'ektni yaratish uchun noto'g'ri mahalliy
til nomidan foydalanish runtime_error sinfi ob'ektini chiqaradi . Saqlangan 
mahalliy til nomi, "*"agar mahalliy til ob'ekti C uslubidagi til ob'ekt tomonidan 
taqdim etilganiga to'liq mos kelishiga ishonch hosil qila olmasa. Aks holda, 
namelocale_object ga qo'ng'iroq qilib, ba'zi mahalliy ob'ektlar uchun standart C 
kutubxonasida mos keladigan tilni o'rnatishingiz mumkin .setlocale(LC_ALL , 
locale_object.().c_str()) Dastur bajarilishi natijasida ekranda quyidagi sonlar satri paydo bo’ladi:
4 188 2 12 9 1 482 2
 Razryadli mantiqiy amallar.Dastur tuzish tajribasi shuni ko‘rsatadiki, odatda 
qo‘yilgan masalani yechishda biror holat ro‘y bergan yoki yo‘qligini ifodalash 
uchun 0 va 1 qiymat qabul qiluvchi bayroqlardan foydalaniladi. Bu maqsadda bir
yoki undan ortiq baytli o‘zgaruvchilardan foydalanish mumkin. Masalan, 
mantiqiy turdagi o‘zgaruvchini shu maqsadda ishlatsa bo’ladi.
   Boshqa tomondan, bayroq sifatida baytning razryadlaridan foydalanish ham 
mumkin. Chunki razryadlar faqat ikkita qiymatni – 0 va 1 sonlarini qabul qiladi. 
Bir baytda 8 razryad bo‘lgani uchun unda 8 ta bayroqni kodlash imkoniyati 
mavjud.     Faraz qilaylik, qo‘riqlash tizimiga 5 ta xona ulangan va tizim taxtasidagi 5
ta chiroqcha (indikator) xonalar holatini bildiradi: xona qo‘riqlash tizimi
nazoratida ekanligini mos indikatorning yonib turishi (razryadning 1 qiymati)
va xonani tizimga ulanmaganligini indikator o‘chganligi (razryadning 0 qiymati)
bildiradi. Tizim holatini ifodalash uchun bir bayt yetarli bo’ladi va uning kichik
razryadidan boshlab beshtasini shu maqsadda ishlatish mumkin:
7 6 5 4 3 2 1 0
ind5 ind4 ind3 ind2 ind1
Masalan, baytning quyidagi holati 1, 4 va 5 xonalar qo‘riqlash tizimiga
ulanganligini bildiradi:
7 6 5 4 3 2 1 0
x x x 1 1 0 0 1
Quyidagi jadvalda C++ tilida bayt razryadlari ustida mantiqiy amallar
majmuasi keltirilgan. .
  Bayt razryadlari ustida mantiqiy amallar
Amallar Mazmuni
and & Mantiqiy VA (ko’paytirish)
or | Mantiqiy yoki (qo’shish))
xor ^ Istisno qiluvchi YOKI
not ~ Mantiqiy INKOR (inversiya)
C++ tilida razryadli mantiqiy amallarni qiymat berish operatori birgalikda
bajarilishining quyidagi ko‘rinishlari mavjud:
&= – razryadli VA qiymat berish bilan;
| = – razryadli YOKI qiymat berish bilan;
^= – razryadli istisno qiluvchi YOKI qiymat berish bilan.
Chapga va o‘ngga surish amallari: Baytdagi bitlar qiymatini chapga
yoki o‘ngga surish uchun, C++ tilida “<<” va “>>” amallari qo‘llanilib, amaldan keyingi son bitlarni nechta o‘rin chapga yoki o‘nga surish kerakligini bildiradi.
Masalan:
unsigned char A=12; //А=000011002=0х0С16
A=A<<2; // А=001100002=0х3016=48
A=А>>3; //A=000001102=0х0616=610
Razryadlarni n ta chapga (o‘nga) surish sonni 2 soniga ko‘paytirish
(bo‘lish) amali bilan ekvivalent bo‘lib va nisbatan tez bajariladi. Shuni e’tiborga
olish kerakki, operand ishorali son bo‘lsa, u holda chapga surishda eng chapdagi
ishora razryadi takrorlanadi (ishora saqlanib qoladi) va manfiy sonlar ustida bu
amal bajarilganda matematika nuqtai-nazardan xato natijalar yuzaga keladi:
unsigned   char   B =-120; // В=100010002=0х8816
В=В<<2; // В=001000002=0х2016=3210
В=-120; // В=100010002=0х88
В=В>>3; // В=111100012=ОхҒ1 =-151
Shu sababli, bu razryadli surish amallari ishorasiz (unsigned) turdagi
qiymatlar ustida bajarilgani ma’qul.
Dasturlash tillarida qiymatlarni solishtirish uchun taqqoslash amallari
aniqlangan (3.3-jadval). Taqqoslash amali binar amal bo‘lib, quyidagi 
ko‘rinishga
ega:
<operand1> <taqqoslash amali> < operand2>
Taqqoslash amallarining natijasi – taqqoslash o‘rinli bo‘lsa, true (rost), aks
holda false (yolg‘on) qiymat bo’ladi. Agar taqqoslashda arifmetik ifoda
qatnashsa, uning qiymati 0 qiymatidan farqli holatlar uchun 1 deb hisoblanadi.
 Matematik funksiyalar aksariyat hollarda double tipidagi qiymat 
qaytarishadi.Kiruvchi argumentning tipi sifatida esa double ga keltirilishi 
mumkin bo'lgan tip beriladi. Bu funksiyalarni ishlatish uchun math.h (yangi 
ko'rinishda cmath)e'lon faylini include bilan asosiy dastur tanasiga kiritish  kerak.Quyida matematik funksiya-lar kutubhonasining bazi bir a'zolarini 
beraylik. x va y o'zgaruvchilari double tipiga ega.
  Yuqoridagi foo funksiyamizning ismi, () qavslar ichidagi parametrlar – int 
tipidagi k va t lar kirish argument-laridir, ular faqat ushbu funksiya ichida 
ko'rinadi va qo'llaniladi. Bunday o'zgaruvchilar lokal(local-mahalliy)deyiladi. 
result foo() ning ichida e'lon qilinganligi uchun u ham lokaldir. Demak biz 
funksiya ichida o'zgaruvchilarni va klaslarni (class) e'lon qilishimiz mumkin 
ekan. Lekin funksiya ichida boshqa funksiyani e'lon qilib bo'lmaydi. foo() 
funksiyamiz qiymat ham qaytaradi. Qaytish qiymatining tipi foo() ning e'lonida 
eng boshida kelgan - int tipiga ega. Biz funksiyadan qaytarmoqchi bo'lgan 
qiymatning tipi ham funksiya e'lon qilgan qaytish qiymati tipiga mos kelishi 
kerak - ayni o'sha tipda bo'lishi yoki o'sha tipga keltirilishi mumkin bo'lgan tipga 
ega bo'lishi shart. Funksiyadan qiymatni return ifodasi bilan qaytaramiz. Agar 
funksiya hech narsa qaytarmasa e'londa  void tipini yozamiz. Yani: Bu funksiya void (bo'sh, hech narsasiz) tipidagi qiymatni qaytaradi. Boshqacha 
qilib aytganda qaytargan qiymati bo'sh to'plamdir. Lekin funksiya hech narsa 
qaytarmaydi deya olmaymiz. Chunki hech narsa qaytarmaydigan mahsus 
funksiyalar ham bor. Ularning qaytish qiymati belgilana-digan joyga hech narsa 
yozilmaydi. Biz unday funksiyalarni keyinroq qo'rib chiqamiz. Bu yerda bir 
nuqta shuki, agar funksiya mahsus bo'lmasa, lekin oldida qaytish qiymati tipi 
ko'rsatilmagan bo'lsa, qaytish qiymati int tipiga ega deb qabul qilinadi.void 
qaytish tipli funksiyalardan chiqish uchun return; deb yozsak yetarlidir.Yoki 
return ni qoldirib ketsak ham bo'ladi. Funksiyaning qismlari bajaradan vazifasiga
ko'ra turlicha nomlanadi. Yuqorida korib chiqqanimiz funksiya aniqlanishi 
(function definition) deyiladi, chunki biz bunda funksiyaning bajaradigan 
amallarini funksiya nomidan keyin,{} qavslar ichida aniqlab yozib chiqyapmiz. 
Funksiya aniqlanishida {} qavslardan oldin nuqta-vergul (;) qo'yish hatodir. 
Bundan tashqari funksiya e'loni,prototipi yoki deklaratsiyasi (function prototype)
tushunchasi qo'llaniladi. Bunda funksiyaning nomidan keyin hamon nuqta-vergul
qo'yiladi, funksiya tanasi esa berilmaydi. C++ da funksiya qo'llanilishidan oldin 
uning aniqlanishi yoki hech bo'lmaganda e'loni kompilyatorga uchragan bo'lishi 
kerak. Agar funksiya e'loni boshqa funksiyalar aniqlanishidan tashqarida 
berilgan bo'lsa, uning kuchi ushbu fayl ohirigacha boradi. Biror bir funksiya 
ichida berilgan bo'lsa kuchi faqat o'cha funksiya ichida tarqaladi. E'lon fayllarda 
aynan shu funksiya e'lonlari berilgan bo'ladi. Funksiya e'loni va funksiya 
aniqlanishi bir-biriga mos tushishi kerak.  C++ Standard Library konteyner klassi setto'plamdan ma'lumotlarni saqlash va 
olish uchun ishlatiladi. Elementlarning qiymatlari setnoyobdir va ma'lumotlar 
avtomatik ravishda tartibga solinadigan asosiy qiymatlar bo'lib xizmat qiladi. a 
elementining qiymatini setbevosita o'zgartirib bo'lmaydi. Buning o'rniga siz eski 
qiymatlarni o'chirishingiz va yangi qiymatlar bilan elementlarni kiritishingiz 
kerak.
Konteyner turini tanlash, umuman olganda, ilova tomonidan talab qilinadigan 
qidirish va kiritish turiga asoslanishi kerak. Assotsiativ konteynerlar qidirish, 
kiritish va olib tashlash operatsiyalari uchun optimallashtirilgan. Ushbu 
operatsiyalarni aniq qo'llab-quvvatlaydigan a'zo funktsiyalari samarali bo'lib, 
ularni konteynerdagi elementlar sonining logarifmiga o'rtacha proportsional vaqt 
ichida bajaradi. Elementlarni kiritish hech qanday iteratorni bekor qilmaydi va 
elementlarni olib tashlash faqat olib tashlangan elementlarga ishora qilgan 
iteratorlarni bekor qiladi.  
To'plam qiymatlarni kalitlari bilan bog'laydigan shartlar ilova tomonidan 
qondirilganda tanlangan assotsiativ konteyner bo'lishi kerak. To'plam elementlari
noyobdir va o'zlarining saralash kalitlari bo'lib xizmat qiladi. Ushbu turdagi 
tuzilmalar modeli, aytaylik, so'zlar faqat bir marta bo'lishi mumkin bo'lgan 
so'zlarning tartiblangan ro'yxatidir. Agar so'zlarning bir nechta takrorlanishiga 
ruxsat berilsa, multiset mos konteyner tuzilishi bo'ladi. Agar qiymatlarni noyob 
kalit so'zlar ro'yxatiga qo'shish kerak bo'lsa, xarita ushbu ma'lumotlarni o'z ichiga
olgan mos tuzilma bo'ladi. Buning o'rniga kalitlar noyob bo'lmasa, multimap 
tanlangan konteyner bo'ladi. To'plam o'zi boshqaradigan ketma-ketlikni 
saqlangan turdagi funksiya ob'ektini chaqirish orqali tartibga soladi 
key_compare. Ushbu saqlangan ob'ekt taqqoslash funktsiyasi bo'lib, unga a'zo 
funktsiyasini chaqirish orqali kirish mumkin key_comp. Umuman olganda, 
ushbu tartibni o'rnatish uchun elementlar solishtirish mumkin bo'lgandan 
kichikroq bo'lishi kerak, shuning uchun har qanday ikkita elementni hisobga 
olsak, ular ekvivalent ekanligini (hech biri boshqasidan kam emas degan  ma'noda) yoki bittasi aniqlanishi mumkin. boshqasidan kamroq. Bu ekvivalent 
bo'lmagan elementlar orasidagi tartibni keltirib chiqaradi. Ko'proq texnik 
eslatmada, taqqoslash funktsiyasi ikkilik predikat bo'lib, standart matematik 
ma'noda qat'iy zaif tartibni keltirib chiqaradi. Ikkilik predikat f ( x, y ) funksiya 
ob'ekti bo'lib, ikkita argument ob'ekti x vay va qaytish qiymati trueyoki false. 
Ikkilik predikat refleksiv, antisimmetrik va o'tishli bo'lsa va ekvivalentlik 
tranzitiv bo'lsa, to'plamga o'rnatilgan tartib qat'iy zaif tartibdir, bunda ikkita x va 
y ob'ektlar f x, y ) va f ( y ) bo'lganda ekvivalent deb aniqlanadi. , x ) noto'g'ri. 
Agar kalitlar orasidagi tenglikning kuchli sharti ekvivalentlik o'rnini bossa, tartib
umumiy bo'ladi (barcha elementlar bir-biriga nisbatan tartiblangan degan 
ma'noda) va mos keladigan kalitlar bir-biridan farq qilmaydi.
                   
                          Foydalanilgan adabiyotlar .
    Christof Paar·Jan Pelzl. Understanding Cryptography: A Textbook for 
Studens and Practitioners. Verlag Berlin Hyeidelberg 2010.
  Keith M. Martin. Yeveryday Cryptography Fundamental Principles and 
Applications. United Kingdom, 2017 
 G’aniyev Salim Karimovich. Axborot xavfsizligi o’quv qo’llanma T., 
Aloqachi 2008. – 382 b.
  Karimov I.A. Xavfsizlik va barqarorlik yo‘lida. 6-jild. Toshkent 
“O‘zbekiston”. 1998. 409 b. 
  Horstman C.S. C++ for Everyone, 2 edition-2011, 562 p
                            
                              
                                    Mundareja: 1. Kirish    ………… ………………………….……..……. 2
2. C++ dasturlash tilining  ios,  locale va set kutubxonalari 
funksiyalari    ………………………………………….. 4
3. Foydalanilgan adabiyotlar…………………………  16

Mavzu: C++ dasturlash tilining ios, locale va set kutubxonalari funksiyalari bilan ishlash Reja: 1. Kirish. 2. C++ dasturlash tilining ios, locale va set kutubxonalari funksiyalari. 3. Foydalanilgan adabiyotlar.

Kirish C++ dasturlash tili nomi C dasturlash tilidan kelib chiqqan bq`lib, ++ belgisi inkrement amali, ya`ni o'zgaruvchining qiymatini bittaga oshish amalidan olingan. C ++ dasturlash tili turli xil amaliy dasturlarni yaratish, operatsion tizimlarni, qurilma drayverlarini, shuningdek video o'yinlarni va boshqalarni yaratish uchun keng qo'llaniladi. C ++ dasturlash tili 1980-yillarning boshlaridaBell Laboratories firmasi xodimi Byorn Stroustrup tomonidan yaratilgan. Axborot kommunikatsion texnonologiyalarini taraqqiy etishida bevosita dasturlash tillarining o’rni beqiyos. Ayniqsa, hozirgi davrga kelib C++, Java, Delphi dasturlash tillar yordamida shaxsiy kompyuterlar uchun amaliy dasturiy to’plamlardan tashqari SmartPhone va Planshetlar uchun operatsion tizim (iOS, Android, Windows mobile, Symbian va h.k) va ilovalar yaratilmoqda. Informatsion texnologiyalarning yana bir muhim jihatlaridan biri shundaki, bu fan jadal sur’atlarda o‘sib, yil sayin yangidan-yangi yo‘nalishlarga, mutaxassisliklarga tarmoqlanib ketmoqda: algoritmik, mantiqiy, obyektga yo‘naltirilgan, vizual, parallel dasturlash texnologiyalari, animatsiya, multimediya, Web, ma’lumotlar bazasini boshqarish tizimlari, ko‘p prosessorli, neyron arxitekturali kompyuterlar va hokazo. Ko‘rinib turibdiki, informatika 4 meta fan darajasiga ko‘tarilib, uni bitta o‘quv kursi chegarasida to‘liq o‘zlashtirishning imkoni bo‘lmay qoldi. Informatsion texnologiyalar sohasi bo‘yicha rus va ingliz tillarida qo‘llanmalar juda ko‘p chop etilmoqda. Oxirgi yillarda o‘zbek tilidagi qo‘llanmalar ham ko‘payib qoldi. Ushbu taklif etilayotgan qo‘llanma asosan C++ dasturlash tilini o‘rganmoqchi bo‘lganlar uchun mo‘ljallangan. Shu sababli qo’llanmada C++ tiliga bog’liq boshlang’ich ma’lumotlar yoritilgan. Bu qo’llanmadan C++ dasturlash tilini o‘rganuvchilar, dastur tuzishni o‘rganayotganlar hamda “Dasturlash asoslari”, “Informatika va dasturlash” fanlaridan olingan nazariy bilimlarni mustahkamlash uchun foydalanishlari hisobga olingan. Ushbu qo‘llanmaga kiritilgan ma’lumotlar dasturlashning bazaviy kursidagi deyarli barcha bo‘limlarini, ya’ni skalyar turlar va boshqaruv operatorlaridan tortib, ma’lumotlarning murakkab turlari kabilarni o‘z ichiga oladi.

2. Berilganlarni qayta ishlash uchun dasturlash tillarida amallarning juda keng majmuasi aniqlangan. Amal - bu qandaydir harakat bo‘lib, u bitta (unar) yoki ikkita (binar) operandlar ustida bajariladi, hisob natijasi uning qaytaruvchi qiymati hisoblanadi. Ushbu qirralarning ochiq to'plamini belgilashingiz mumkin. Shuningdek, siz fasetlarning ixtiyoriy sonini belgilaydigan mahalliy ob'ektni yaratishingiz mumkin. Ushbu qirralarning oldindan belgilangan guruhlari standart C kutubxonasida funksiya tomonidan boshqariladigan mahalliy toifalarnisetlocale ifodalaydi . Turkum collate(LC_COLLATE) quyidagi jihatlarni o'z ichiga oladi: C++ Nusxalash collate<char> collate<wchar_t> Turkum ctype(LC_CTYPE) quyidagi jihatlarni o'z ichiga oladi: C++ Nusxalash ctype<char> ctype<wchar_t> codecvt<char, char, mbstate_t> codecvt<wchar_t, char, mbstate_t> codecvt<char16_t, char, mbstate_t> codecvt<char32_t, char, mbstate_t> Turkum monetary(LC_MONETARY) quyidagi jihatlarni o'z ichiga oladi: C++ Nusxalash moneypunct<char, false> moneypunct<wchar_t, false> moneypunct<char, true> moneypunct<wchar_t, true> money_get<char, istreambuf_iterator<char>> money_get<wchar_t, istreambuf_iterator<wchar_t>> money_put<char, ostreambuf_iterator<char>> money_put<wchar_t, ostreambuf_iterator<wchar_t>>

Turkum numeric(LC_NUMERIC) quyidagi jihatlarni o'z ichiga oladi: C++ Nusxalash num_get<char, istreambuf_iterator<char>> num_get<wchar_t, istreambuf_iterator<wchar_t>> num_put<char, ostreambuf_iterator<char>> num_put<wchar_t, ostreambuf_iterator<wchar_t>> numpunct<char> numpunct<wchar_t> Turkum time(LC_TIME) quyidagi jihatlarni o'z ichiga ola Nusxalash time_get<char, istreambuf_iterator<char>> time_get<wchar_t, istreambuf_iterator<wchar_t>> time_put<char, ostreambuf_iterator<char>> time_put<wchar_t, ostreambuf_iterator<wchar_t>> Turkum messages(LC_MESSAGES) quyidagi jihatlarni o'z ichiga oladi: C++ Nusxalash messages<char> messages<wchar_t> (Oxirgi toifa POSIX tomonidan talab qilinadi, lekin C standarti emas.) Ushbu oldindan belgilangan qirralarning ba'zilari iostreamraqamli qiymatlarni matn ketma-ketligiga aylantirishni boshqarish uchun sinflar tomonidan qo'llaniladi. Sinf lokali ob'ekti mahalliy til nomini sinf satrining ob'ekti sifatida ham saqlaydi . Mahalliy faset yoki mahalliy ob'ektni yaratish uchun noto'g'ri mahalliy til nomidan foydalanish runtime_error sinfi ob'ektini chiqaradi . Saqlangan mahalliy til nomi, "*"agar mahalliy til ob'ekti C uslubidagi til ob'ekt tomonidan taqdim etilganiga to'liq mos kelishiga ishonch hosil qila olmasa. Aks holda, namelocale_object ga qo'ng'iroq qilib, ba'zi mahalliy ob'ektlar uchun standart C kutubxonasida mos keladigan tilni o'rnatishingiz mumkin .setlocale(LC_ALL , locale_object.().c_str())

Dastur bajarilishi natijasida ekranda quyidagi sonlar satri paydo bo’ladi: 4 188 2 12 9 1 482 2 Razryadli mantiqiy amallar.Dastur tuzish tajribasi shuni ko‘rsatadiki, odatda qo‘yilgan masalani yechishda biror holat ro‘y bergan yoki yo‘qligini ifodalash uchun 0 va 1 qiymat qabul qiluvchi bayroqlardan foydalaniladi. Bu maqsadda bir yoki undan ortiq baytli o‘zgaruvchilardan foydalanish mumkin. Masalan, mantiqiy turdagi o‘zgaruvchini shu maqsadda ishlatsa bo’ladi. Boshqa tomondan, bayroq sifatida baytning razryadlaridan foydalanish ham mumkin. Chunki razryadlar faqat ikkita qiymatni – 0 va 1 sonlarini qabul qiladi. Bir baytda 8 razryad bo‘lgani uchun unda 8 ta bayroqni kodlash imkoniyati mavjud.