Amaliy qism: Tasodifiy belgilarni hosil qilish
Download 1.86 Mb.
|
S-D1-ma\'ruza-4
- Bu sahifa navigatsiya:
- =">"London" + "Parij" ; 7.4. Satrlarni taqqoslash C++ da ikki satrni taqqoslash uchun ==, !=, , >=
Ogohlantirish. s satrda belgilarga murojaatni amalga oshirishda satr hajmidan chiqib ketish – dastur bajarilishida xatolikka olib keladi. Buning oldini olish uchun, satr hajmini s.length()–1 deb belgilab olish lozim. Masalan, s.at(s.length()) yoki s[s.length()] deb yozish xato hisoblanadi.
7.3. Satrlarni birlashtirish C++ ikki satrni birlashtirish uchun + operatorini taqdim etadi. Quyida keltirilgan misolda s1 va s2 satrlarini birlashtirib, s3 satriga ta’minlanishini ko`rish mumkin: string s3 = s1 + s2; O`rnatilgan qoidali ta’minlash operatorini ham satrlarni birlashtirishda qo`llash mumkin. Masalan, quyidagi kod xabar nomli, “C++ ga xush kelibsiz!” qiymatga ega bo`lgan satrga “ va dasturlash – qiziqarli” satrini qo`shib ta’minlaydi: xabar += “ va dasturlash – qiziqarli”; Bunda xabar ning yangi qiymati “C++ ga xush kelibsiz va dasturlash – qiziqarli” gat eng bo`ladi. Shuningdek, satrga belgini ham qo`shib ta’minlashimiz mumkin: string s = "ABC"; s += 'D'; Yangi s ning qiymati – “ABCD”. Eslatma. Yangi satrga ikkita satrli ma’lumotni qo`shib ta’minlash xato hisoblanadi. Masalan quyidagi kabi: string shaharlar = "London" + "Parij"; Quyida berilgan kod esa to`g`ri, chunki bunda avvaldan qiymatga ega s satriga “London” satri va keyin “Parij” satri qo`shilyapti. string s = "Nyu York"; string shaharlar = s + "London" + "Parij"; 7.4. Satrlarni taqqoslash C++ da ikki satrni taqqoslash uchun ==, !=, <, <=, >, >= munosabat operatorlaridan foydalanish mumkin. Bu jarayon satrdagi belgilarni birma-bir, chapdan o`ngga qarab solishtirish orqali amalga oshiriladi. Masalan: string s1 = "ABC"; string s2 = "ABE"; cout << (s1 == s2) << endl; // 0 ni ko`rsatadi (false tushuniladi) cout << (s1 != s2) << endl; // 1 ni ko`rsatadi (true tushuniladi) cout << (s1 > s2) << endl; // 0 ni ko`rsatadi (false tushuniladi) cout << (s1 >= s2) << endl; // 0 ni ko`rsatadi (false tushuniladi) cout << (s1 < s2) << endl; // 1 ni ko`rsatadi (true tushuniladi) cout << (s1 <= s2) << endl; // 1 ni ko`rsatadi (true tushuniladi) s1 > s2 holatni ko`rib chiqamiz. Dastlab s1 va s2 lardan birinchi belgilar (A bilan A)ning tengligi tekshiriladi. Tenglik o`rinli. Keyin ikkinchi belgilar (B bilan B) ning tengligi tekshiriladi. Tenglik o`rinli. Keyingi qadamda ikkinchi belgilar (C bilan E) ning tengligi tekshiriladi. Tenglik 0 qiymat qaytaradi. Chunki, C belgisi E belgisidan kichik. Download 1.86 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling