Matematik funksiyalar, simvollar II



Download 207,69 Kb.
bet2/2
Sana31.12.2021
Hajmi207,69 Kb.
#224236
1   2
Bog'liq
3-Ma'ruza №3. Satrlar

string turi

Ob’yektlar klaslar orqali aniqlanadi. string sinfi header fayli yordamida aniqlanadi. Bundan tashqari ob’yekt sinfning nusxasi ham deb ataladi.

String ob’yektlari uchun sodda funksiyalar


Funksiya

Tavsifi

length()

Satrdagi belgilar sonini qaytaradi

size()

length() funksiyasi bil bir xil

at(index)

Ko’rsatilgan o’rindagi belgini qaytaradi.

Misol

string message = "ABCD";

cout << message.length() << endl;

cout << message.at(0) << endl;

string s = "Bottom";

cout << s.length() << endl;

cout << s.at(1) << endl;

Bu yerda message.length() 4 qiymat qaytaradi, message.at(0) esa A belgisini qaytaradi.

s.length() 6 qiymat qaytaradi, s.at(1) o belgisini qaytaradi.

Eslatma!

Dastlabki holda satr bo’sh bo’ladi. Hech qanday belgi bo’lmaydi. “” bo’sh satrni anglatadi. Shuning uchun quyidagi ikkita satr bir xil:

string s;

string s=“”;

Dasturda string turidan foydalanmoqchi bo’lsangiz, Siz avvalo header faylini qo’shishingiz kerak.

Satr indeksi va ajratish (subscript) operatori

s.at(index) funksiyasi s satrda 0 dan s.length()-1 oraliqdagi indeksda joylashgan belgini qaytarishini anglatadi. Misol uchun, message.at(0) funksiyasi C belgisini chiqaradi. Satrlarda birinchi belgi har doim 0- indeksadan boshlanadi.


0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

C

+

+

g

a

x

u

s

h

k

e

l

i

b

s

i

z

!

indekslar

message


message.at(0)

message.length() – 21 ga teng



message.at(20)

Ajratish operatori [ ]

Satrdan biror belgini ajratib olish uchun satr ob’yekti yoniga [ ] qavslarini qo’yib, qavslar ichiga indeks yozilsa, shu indeksdagi belgini boshqa satrga ta’minlash mumkin.

string s = "ABCD";

s[0] = 'P';

cout << s[0] << endl;

Bu dasturda “ABCD” satrining datlabki belgizisning o’rniga “P” belgisi qo’yilmoqda.

E’tibor bering!

s satrida alohida elementga murojaat qilishda indeks chegarasidan chiqib ketish umumiy dasturlash xatoligini(common programming error) keltitib chiqaradi. Bunday xatolikdan qochish uchun s.length() – 1 chegaradan chiqlmayotganiga ishonch hosil qilish lozim. Misol uchun funksiyalarni s.at(s.length()) yoki s[s.length()] kabi qo’llash xatolik keltirib chiqaradi.

Satrlarni qo’shish (Konkatenatsiyalash)

C++ da + operatori orqali satrlarni qo’shish mumkin. Quyida s1 va s2 satrlarini qo’shib, s3 satrga ta’minlash ko’rsatilgan:

string s3 = s1 + s2;

+= operatorini satlar uchun ham qo’llash mumkin. Misol uchun quyidagi kodda xabar satridagi “C++ ga xush keilbsiz. ” jumlasiga “Dasturlash judayam qiziq.” jumlasini qo’shish ko’rsatilgan:

xabar+= “Dasturlash judayam qiziq.”;

Endi xabar satrida “C++ ga xush kelibsiz. Dasturlash judayam qiziq.” jumlasi paydo bo’ldi.

Satrlarni qo’shish (Konkatenatsiyalash)

Satrga char turidagi belgini qo’shish mumkin.

string s = "ABC";

s += 'D';

Endi s satrda “ABCD” paydo bo’ldi.

Muhim!

string cites = "London" + "Paris"; //noto’g’ri

string s = "New York";

string cites = s + "London" + "Paris"; //to’gri

Satrlarni taqqoslash

Satrlarni taqqoslash uchun ==, !=, <, <=, >, >= amallari ishlatiladi.

string s1 = "ABC";

string s2 = "ABE";

cout << (s1 == s2) << endl; // 0 chiqadi (ya’ni false)

cout << (s1 != s2) << endl; // 1 chiqadi (ya’ni true)

cout << (s1 > s2) << endl; // 0 chiqadi (ya’ni false)

cout << (s1 >= s2) << endl; // 0 chiqadi (ya’ni false)

cout << (s1 < s2) << endl; // 1 chiqadi (ya’ni true)

cout << (s1 <= s2) << endl; // 1 chiqadi (ya’ni true)

Satrlarni o’qish

Satrlarni o’qitishda cin ob’yektidan foydalanish mumkin.

1 string city;

2 cout << “Shaharni kiriting: ";

3 cin >> city; // satrni o’qib olish

  • cout << “Siz " << city << “ ni kiritidingiz.”<

    Agar shu yerda New York kiritilishi talab etilsa, getline funksiyasidan foydalaniladi. Bu funksiya header fayli funksiyalaridan biri hisoblanadi.

    getline(cin, s, ajratuvchiBelgi)

Satrlarni o’qish

Ajratuvchi belgi kiritilganda funksiya belgilarni o’qishni to’xtatadi. Ajratkich o’qiladi, ammo satga qo’shilmaydi. Funksiyaning 3-parametri bo’lmish ajratuvchiBelgi dastlabki holda (‘\n’) bo’ladi.

1 string city;

2 cout << “Shaharni kiriting: ";

3 getline(cin, city, ‘\n’); // getline(cin, city) bilan bir xil

  • cout << “Siz " << city << “ ni kiritidingiz.”<

Dastur

Natijasi

Konsolga chiqarishni formatlash

Konsolga matnni formatlangan holda chiqarish uchun oqim manipulyatorlaridan foydalaniladi.

Dasturda ko’pincha matnni formatlangan holda chiqarish talab etiladi. Misol uchun, quyidagi dastur kodida bankka qo’yilgan omonatning foizi va yillik foizini hisoblaydi:

double omonat = 12618.98;

double foiz = 0.0013;

double summa = omonat * foiz;

cout << “Summa: " << summa << endl;

Tez tez qo’llaniladigan oqim manipulyatorlari


Operator

Tavsifi

setprecision(n)

Haqiqiy sonlar uchun aniqlikni o’rnatadi

fixed

Haqiqiy sonlarni tahrirlangan ko’rinishda chiqarish

showpoint

Sonlarni o’nli kasr ko’rinishida tasvirlash. Haqiqiy bo’lmagan sonlarni kasr ko’rinishida tasvirlaydi.

setw(width)

Chiqarish sohasi kengligini o’rnatadi.

left

Chap tomondan chiqarish

right

O’ng tomondan chiqarish

Oqim manipulyatorlaridan foydalanish uchun header faylidan

foydalanish lozim.


setprecision(n) manipulyatori

double number = 12.34567;

cout << setprecision(3) << number << endl

<< setprecision(4) << number << endl

<< setprecision(5) << number << endl

<< setprecision(6) << number << endl;

Natijasi

12.3

12.35

12.346

12.3457

setprecision(n) manipulyatori

double number = 12.34567;

cout << setprecision(3) << number << endl;

cout << 9.34567 << endl<< 121.3457 << endl << 0.2367 << endl;

Natijasi:

12.3

9.35

121

0.237

3 aniqlik faqat birinchi qiymat uchun o’rnatilgan edi, ammo boshqa o’zgaruvchilar uchun ham ishladi, chunki aniqlik o’zgartirilmadi.

setprecision(n) manipulyatori

Agar kenglik butun son uchun etarli bo'lmasa, setprecision manipulyatori ta’sir qilmaydi.

cout << setprecision(3) << 23456 << endl;

Natija

23456

fixed manipulyatori

Ba’zan kompyuter katta haqiqiy sonlarni ilmiy ko’rinishda ko’rsatadi. Misol uchun,

cout << 232123434.357;

buyrug’i quyidagi natijani beradi:

2.32123e+08

Bu holatda fixed manipulyatoridan foydalaniladi.

cout << fixed << 232123434.357;

Natijasi

232123434.357000

fixed manipulyatori

Dastlabki holda, verguldan keying raqamlar soni 6 tani tashkil etadi. Uni fixed manipulyatori ichida setprecision manipulyatorini qo’llash orqali o’zgartirish mumkin. fixed manipulyatori ishlatilayotganda setprecision manipulyatori ham qo’llanilsa, nuqtadan keyin raqamlar nechta bo’lishini anglatadi. Misol:

double oylikTulov = 345.4567;

double umumiyTulov = 78676.887234;

cout << fixed << setprecision(2)

<< oylikTulov << endl

<< umumiyTulov << endl;

Natijasi

345.46

78676.89

showpoint manipulyatori

fixed manipulyatoriga o’xshab ketadi, showpoint manipulyatori bilan birgalikda setprecision manipulyatorini ham qo’llash mumkin:

cout << setprecision(6);

cout << 1.23 << endl;

cout << showpoint << 1.23 << endl;

cout << showpoint << 123.0 << endl;

Natija:

1.23

1.23000

123.000

setw(width) manipulyatori

cout << setw(8) << "C++" << setw(6) << 101 << endl;

cout << setw(8) << "Java" << setw(6) << 101 << endl;

cout << setw(8) << "HTML" << setw(6) << 101 << endl;

Natijasi:

setw(width) manipulyatori

cout << setw(8) << "C++" << 101 << endl;

Natija:

■■■■■C++101

right manipulyatori

cout << right;

cout << setw(8) << 1.23 << endl;

cout << setw(8) << 351.34 << endl;

Natijasi

■■■■1.23

■■351.34

left manipulyatori

cout << left;

cout << setw(8) << 1.23;

cout << setw(8) << 351.34 << endl;

Natijasi:

1.23■■■■351.34■■


Download 207,69 Kb.

Do'stlaringiz bilan baham:
1   2




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