R. A. Ro‘ziyev, U. M. Mirsanov, F. J. Toxirov, L. S. Isroilova, H. N. Arziqulov


Satrni teskari tartiblash funksiyasi


Download 1.27 Mb.
bet35/45
Sana14.10.2023
Hajmi1.27 Mb.
#1703549
1   ...   31   32   33   34   35   36   37   38   ...   45
Bog'liq
C qo`llanma 29.06

Satrni teskari tartiblash funksiyasi
C++ dasturlash tilida satrni teskari tartiblashni uchun strrev() funksiyasidan foydalaniladi. Ushbu funksiya quyidagi ko‘rinishga ega:
char* strrev(char* str);
Misol sifatida quyidagi dastur kodini keltirish mumkin:
char a[]=”C++Builder”;
strrev(a);
Bunda amallar bajarilishi natijasida “redliuB++C” satri hosil bo‘ladi.
Satrdan belgini qidirish funksiyalari
C++ dasturlash tilida satrdan birorta belgi yoki qism satrni qidirish uchun string.h kutubxonasidagi standart funksiyalardan foydalaniladi. Satrda qidirilayotgan belgi bor yoki yo‘qligini aniqlashda strchr() funksiyasidan foydalaniladi. Ushbu funksiya quyidagi ko‘rinishga ega:
char* strchr(const char* k, int s)
Bu yerda s belgi k satrdan qidiriladi. Agar qidirish muvafaqqiyatli amalga oshirilsa, funksiya natijasi izlanayotgan belgining satrdagi o‘rniga teng bo‘ladi, aks holda funksiya 0 qiymatini qabul qiladi. Bunda belgini izlash satr boshidan boshlanadi. Quyida belgini satrdan qidirishning dastur kodi keltirilgan:
char k[]=”01234567891011”;
char* S;
S=strchr(k,’6’);
Ushbu dasturni ishlashi natijasida S ko‘rsatkichi k satrning ‘6’ belgisi joylashgan o‘rnini aniqlaydi.
strrchr() funksiyasi berilgan belgini satr oxiridan boshlab qidiradi. Agar qidirish muvaffaqiyatli amalga oshirilsa, belgidan o‘ng tomonini aniqlaydi, aks holda 0 hosil bo‘ladi. Misol sifatida quyidagi dastur kodini keltirish mumkin:
char k[]=”0123456789101112”;
char* s;
pSatr=strrchr(k,’0’);
Bunda, amallarni bajarilishi natijasida s ko‘rsatkichi k satrning ‘01112’ qism satrini o‘zlashtiradi.
strspn() funksiyasi ikkita satrni mos o‘rindagi belgilarni solishtiradi va birinchi ustma-ust tushmagan belgi o‘rnini aniqlaydi (registrni hisobga olgan holda). Ushbu funksiya quyidagi ko‘rinishga ega:
size_t strspn(const char* string, const char* group)
Yuqoridagi funksiyadan foydalanib, ikkita satrdagi ustma-ust tushadigan elementlar sonini ham aniqlash mumkin. Buning uchun quyidagi dastur kodidan foydalaniladi:
char s1[]=”01234567891011121314”;
char s2[]=”01234567890123”;
int belgi;
belgi=strspn(s1,s2);
Bunda, belgi ning qiymati 10 ga teng bo‘ladi.
Qidirish funksiyalaridan yana biri, bu strcspn() bo‘lib, u quyidagi ko‘rinishga ega:
size_t strcspn(const char* st1, const char* st2)
Bunda, st1 va st2 satrlar solishtiriladi hamda st1 satrining st2 satriga kirmaydigan qism, uning uzunligi aniqlanadi. Misol sifatida quyidagi dastur kodini keltirish mumkin:
char s[]=”Birinchi satr”;
int k;
index=strcspn(s,”sanoq boshi”);
Mazkur dastur kodida k o‘zgaruvchisi 9 qiymatini qabul qiladi, chunki 9-o‘rindagi belgi ikkinchi satrning birinchi belgisi bilan mos tushadi.
Satrdagi belgini qidirish uchun strpbrk() funksiyasidan ham foydalanish mumkin. U quyidagi ko‘rinishga ega:
char* strpbrk(const char* str1, const char* str2)
Ushbu dastur kodi str1 satrdagi str2 satrga kiruvchi birorta belgini izlaydi. Agar bunday element topilsa, uning manzili funksiya qiymati sifatida olinadi, aks holda funksiya 0 qiymatni qabul qiladi. Buni quyidagi misolda ko‘rish mumkin:
char satr1[]=”11223456789ABCDEF”;
char satr2[]=”MNXYabcdefABV”;
char* k;
k = strpbrk(satr1,satr2);
Mazkur dastur kodi ishlashi natijasida k ning qiymati “ABCDEF” ga teng bo‘ladi.

Download 1.27 Mb.

Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   ...   45




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