Kirish Roʻyxatdan oʻtish

Docx

  • Referatlar
  • Diplom ishlar
  • Boshqa
    • Slaydlar
    • Referatlar
    • Kurs ishlari
    • Diplom ishlar
    • Dissertatsiyalar
    • Dars ishlanmalar
    • Infografika
    • Kitoblar
    • Testlar

Dokument ma'lumotlari

Narxi 10000UZS
Hajmi 95.8KB
Xaridlar 8
Yuklab olingan sana 16 Fevral 2024
Kengaytma docx
Bo'lim Kurs ishlari
Fan Informatika va AT

Sotuvchi

Bohodir Jalolov

Satrlar bilan ishlash

Sotib olish
O‘ZBEKISTON  RESPUBLIKASI  OLIY TA’LIM,  FAN VA
INNOVATSIYALAR VAZIRLIGI
TOSHKENT AMALIY FANLAR UNIVERSITETI
“MATEMATIKA VA KOMPUTER INJINIRING”
KAFEDRASI
“ DASTURLASH ”  fanidan
Mavzu:    ___________________________________________________________
______________________________________________________________
______________________________________________________________
Bajardi:      ___________________ guruhi talabasi
___________        __________________________
Q abul  q ildi:    ___________        __________________________
Toshkent – 20__ y.KURS   ISHI TOSHKENT  AMALIY FANLAR UNIVERSITETI
“MATEMATIKA VA KOMPUTER INJINIRING”
Kafedrasi
“ DASTURLASH ”  fanidan
kurs   ishi bo`yicha berilgan 
texnik topshiriq
Variant  ___
Mavzu :  _____________________________________________________
_____________________________________________________________
_____________________________________________________________
1. Kurs ishini topshirish muddati:  _______________________________
2.   Kurs   ishini   bajarish   uchun   boshlang’ich   ma’lumotlar:   Adabiyotlar,
nazariy ma’lumotlar, grafik muharrirlar. _______________________________
3. Tushuntiruv yozuvi tarkibi:  Kirish, mavzu bo’yicha nazariy ma’lumotlar,
amaliy   qismda   berilgan   topshiriq   varianti   bo`yicha   grafik   ishlanmalar,   xulosa,
foydalanilgan adabiyotlar ro’yxati, ilova. _______________________________
4. Grafik materiallar:  tasvir, chizma va boshqalar.
5. Topshiriq berilgan sana:  _____________________________________
6. Bajarish uchun qabul qilib oldi:   _____________________________ 
________________ fakulteti, ________________________ guruh talabasi 
7. Rahbar:  __________________________________________________ «Tasdi q layman»
“ Matematika va komputer injiniring ” 
kafedrasi   mudiri  __________   dots .
_____________      ___ _______ 20 ___    y.  Ekspert guruhi baholari
F.I.O Baho Imzo
Rasmiylashtirish
Himoya
Savollar:
O’rtacha baho Mavzu:  Satrlar bilan ishlash
REJA:
I. KIRISH.
II. ASOSIY QISM
 1.Satrlar va simvollar bilan ishlash.
 2.Simvolli standart funktsiyalar
III. LOYHA QISMI 
            3.   Berilgan   String   ni   eng   ko'p   bo'laklarga   ajrating.   Bo'laklarning   uzunligi
teng bo'lishi kerak. Bo'laklarning uzunligi 1 dan katta bo'lsin. Agar string 1 dan
ortiq bo'laklarga ajratilmasa "Boshqa Topshiriqlar bormi?" degan so'z konsolga
chiqsin
XULOSA
F O YDALANILGAN ADABIYOTLAR. KIRISH
Hozirgi   kunda   respublikamizdagi   texnika   oliy   o`quv   yurtlarida   “Informatika
va   axborot   texnologiyalari”   yo`nalishi   va   mutaxassisliklariga   turli   xil   dasturlash
tillarini   o`rgatish   mo`ljallangan.   V а qt   o‘tishi   bil а n   k о mpyut е rl а r   t о b о r а   k е ngr о q
qo‘ll а n а   b о shl а di   h а md а   yuq о rir о q   d а r а j а d а gi   pr о ts е dur а   dasturlash   till а ri   p а yd о
bo‘ldi.  
Bizga   ma`lumki,   dasturlash   tillarining   yuzdan   ortiq   ko`rinishlari   mavjud,   lekin
qo`llanilishi   ko`lamiga   qarab   C/C++   va   C#   dasturlash   tillari   yuqori   dasturlash
sinfiga   mansubdir.  
Mutaxassislarning fikriga ko`ra C++ dasturlash tili Assembler dasturlash tiliga eng
yaqin   bo`lib,   tezlik   jihatidan   10   %   ortda   qolar   ekan.  
Keyingi   yillarda   amaliy   dasturchilarga   juda   ko`p   integratsion   dastur   tuzish
muhitlari   taklif   etilmoqda.   Bu   muhitlar   u   yoki   bu   imkoniyatlari   bilan   bir–biridan
farq qiladi. Aksariyat dasturlashtirish muhitlarining fundamental asosi C/C++ tiliga
borib   taqaladi.  
Ushbu kurs ishi hozirgi kunda komp’yuterda berilgan masalalarni dasturlash tillari
orqali   echih   va   dasturlashda   strukturalar,   strukturali   massivlar   va   ko’rsatgichli
strukturalar   bilan   ishlash   hamda   boshqa   o’eklar   bilan   ishlash   kabi   ko’nikmalarni
o`rganishga   bag’shlanadi.  
C++ tili ning standartlashgan versiyalarida ikki   xil   tur dagi belgilar majmuasi   bilan
ishlash   imkoniyati   mavjud .   Birinchi   t ur ga,   an'anaviy,   «tor»   belgilar   deb
nomlanuvchi   8   bitli belgilar majmuasi, ikkinchi   turga esa   16   bitli   «keng»   belgilar
majmuasi   kiradi.   Dasturlash   t il i   kutubxonasida   har   bir   guruh   belgilari   uchun
maxsus funksiyalar to’plami aniqlangan. Quyida   C++   tilida   belgi   sifatida   ishlatilishi   mumkin   bo’lgan   o’zgarmaslar
to’plami ning  jadval i  keltirilgan:
Belgi sinflari Belgi o’zgarmaslar
Katta harflar 'A'..' Z ', 'A'..'YA'
Kichik  h arflar ' a '..' z ', ' a '..'ya'
Raqamlar '0'..'9'
Bo’sh joy   gorizontal   tabulyatsiya   (ASCII   kodi   9),satrni
o’tkazish   (ASCII   kodi   10),   vertikal   tabulyatsiya
(ASCII kodi 11), formani o’tkazish (ASCII kodi 12)
karetkani qaytarish (ASCII kodi 13) .
Punktuasiya belgilari
(ajratuvchilar) ! ” # $ & ‘ ( ) * + - , . /  :; < = > ?  @ [ \ ] ^ _ { | } ~
Boshqaruv belgilari ASCII kodi 0 .. 1Fh orali ь ida va 7Fh b o’ lgan belgilar
Bo’sh joy ASCII  da  kodi 32 b o’ lgan belgi
O’n oltilik raqamlar  ‘0’ .. ’9’,’A’ .. ’F’,’a’ .. ’f’
27 .1-jadval. C++ tilida belgi sifatida ishlatilishi mumkin bo’lgan o’zgarmaslar
to’plami.
Satrlar bilan ishlash
Satrlar – bu belgilar ketma-ketligi. Ko'p hollarda satrlar so'zlar jamlanmasidan 
tashkil topadi. Pythonda satrlar bilan ishlash juda qulay. Bir qancha satr literallari 
mavjud. Ularni ko`rib chiqamiz
Apostrof va qo`shtirnoqdagi satrlar
  Apostrof va qo`shtirnoqdagi satrlar bir narsa. Uni ikki xil variantda keltirilishiga 
sabab literallarga apostrof va qo`shtirnoq belgilarini maxsus xizmatchi belgilardan 
foydalanmasdan kiritish mumkinligi deb hisoblanadi.
                 Ko`p qatorli satrlar
Pythonda satrlarni apostrof(‘) va qo`shtirnoqdan foydalanib hosil qilish mumkin. 
Apostrof (bir tirnoq(')) yoki qo'sh tirnoqni(") 3marta takrorlash orqali esa ko'p 
qatorlik satrlarni xosil qilish mumkin. Milsol uchun:
Satr konstantalarini birlashtirish uchun ularni yonma-yon joylashtirishning o'zi 
kifoya. Python avtomat ularni birlashtiradi. Misol uchun: "Ismingiz" "kim?" 
avtomat "Ismingiz kim?" ga aylanadi.
Eslatma: Bir tirnoq va qo'sh tirnoqdagi satrlar bir-biridan hech ham farq qilmaydi.
Satrlarning funksiya va metodlari
Shunday qilib satrlar bilan ishlash haqida gapirdik, endi satrlarning funksiyalari va 
metodlari haqida gapiramiz. Quyida satrlarning barcha funksiya va metodlari 
keltirilgan.
Asosiy operatsiyalar
Konkatenatsiyalash (qo`shish)
Satrni takrorlash (dublikat qilish)
Satr uzunligi (len() funksiyasi)
Indeks bo`yicha chiqarish
Misoldanko`rinibturibidikiPythonmanfiyindeksbo`yichachiqarishgaruxsatetadi, 
lekinhisoblashqatoroxiridanboshlanadi.
Kesmani ajratib olish. Kesmani ajratib olish operatori:[X:Y]. X- kesmaning boshi, 
Y esa –oxiri. Y raqamli belgi kesmaga kirmaydi. Jimlik holatida birinchi indeks 0 
ga teng, ikkinchi indeks esa qator uzunligiga teng bo`ladi.
Bundan tashqari kesmani ajratib olishda qadamni belgilash mumkin
  Satrlarning qo`shimcha funksiya va metodlari
Metodlarni chaqirganga Pythondagi satrlar o`zgarmaydigan ketma-ketliklar 
darajasiga kirishini inobatga olishimiz kerak. Bu degani hamma funksiyalar va 
metodlar faqat yangi satrni tuzishi mumkin.  
Shuning uchun hamma metodlar yangi satrni qaytaradilar, va u keyin boshqa 
nomga ega bo`ladi.
S = ‘str’; S = “str”; S = “”str””; S = “”“str”“”-   Satrlarni literallari
S = “s\np\ta\nbbb”-   ekran bilan ishlash ketma-ketliklari
S = r “C:\temp\new”-   Formatlashtirilmagan satrlar
S = b “byte”-   Baytlar qatori
S1+S2-   Konkatenatsiya (qo`shish)
S1*3-   Satrni takrorlash
S[i]-   Indeks bo`yicha murojaat
S[i:j:step]-   Step qadamli i elementdan boshlab j elementgacha bo`lgan kesmani 
ajratib olish.
Len(s)-   Satr uzunligi
S.find(str,[start],[end])-   Satrdan satr ostini izlash. Satr ostining birinchi belgisini 
o`rinini qaytaradi, agar satrda satr osti bo`lmasa -1ni qaytaradi.
S.rfind(str,[start],[end])-   Satrdan satr ostini axtarish. Oxirgi kirish raqamini yoki 
1 ni qaytaradi
S.index(str,[start],[end])-   Satrdan satr ostini axtarish. Birinchi kirish raqamini 
qaytaradi yoki ValueError istisnosini chaqiradi
S.rindex(str,[start],[end])-   Satrdan satr ostini axtarish. Oxirgi kirish raqamini 
qaytaradi yoki ValueError istisnosini chaqiradi
S.replace(shablon,almashuv)-   Shablonni almashtirish S.split(belgi)-   Satrni har bir so`zini alohida alohida ajratib chiqish.
S.isdigit()- Satrda raqamlar ishtirok etganligini tekshirish.
S.isalpha()- Satr faqat harflardan iboratligini tekshirish
S.isalnum()- Satr harf yoki raqamlardan iboratligini tekshiradi
S.islower()- Satr quyi registrdagi belgilardan iboratligini tekshiradi
S.isupper()- Satr yuqori registrdagi belgilardan iboratligini tekshiradi
S.isspace()- Satrdako`rinmaydidanbelgilarborliginitekshirish (probel, 
sahifanio`tkazishbelgisi(‘\p’), yangisatrgao`tish(‘\n’), koretkaniqaytarish(‘\r’), 
gorizontaltabulyatsiya(‘\t’) vavertikaltabulyatsiya)
S.istitle()- Satrda so`zlar bosh harf bilan boshlanishini tekshirish
S.upper()- Satrni yuqori registrga o`zgartirish
S.lower()- Satrni quyi registrga o`zgartirish
S.starswith(str)-   S satr str shablonidan boshlanishini tekshirish
S.endswith(str)-   S satr str shabloni bilan tugashini tekshirish
S.join(ro`yxat)-   S ajratuvchiga ega ro`yxatdan qatorni yig`ish
Ord(belgi)-   Belgiga mos ASCII kodni qaytaradi
Chr(son)-   ASCII kodga mos belgini qaytaradi
S.capitalize()- Satrning birinchi belgisi yuqori registrda qolganlarini quyi registrga 
o`tkazadi.
S.center (width,[fill])-   Chegaralari bo`yicha fill (jimlik holatida probel) belgisi 
turuvchi markazlashtirilgan satrni qaytaradi.
S.expandtabs(tabsize)-   Joriy ustungacha bir yoki bir qancha probellar bilan 
tabulyatsiyaning hamma belgilari almashtirilgan satr nusxasini qaytaradi. Agarda 
TabSize ko`rsatilmagan bo`lsa tabulyatsiya hajmi 8 probelga teng bo`ladi
S.lstrip([chars])-   Satr boshidagi probel belgilarini olib tashlash S.rstrip([chars])-   Satr oxiridan probel belgilarini olib tashlash
S.strip([chars])   Satr boshidan va oxiridan probel belgilarini olib tashlash
S.partition(shablon)-   Birinchi shablon oldida turuvchi qismni keyin shablonni 
o`zini va shablondan keyin turuvchi qismga ega kortejni qaytaradi. Agarda shablon
topilmasa satrga ega bo`lgan kortejni qaytaradi, avval ikki bo`sh satr keyin satrni 
o`zini.
S.rpartition(sep)-   Oxirgi shablon oldida turuvchi qismni keyin shablonni o`zini va
shablondan keyin turuvchi qismni qaytaradi. Kortej qator o`zidan va undan keyin 
ikkita bo`sh qatordan iborat bo`ladi.
S.swapcase()- Quyi registrdagi belgilarni yuqori registrga, yuqorilarni esa quyiga 
o`tkazadi
S.title()- Har bitta so`zning birinchi harfini yuqori registrga qolganlarini esa quyi 
registrga o`tkazadi
S.zfill(width)-   Qator uzunligini Widthdan kam qilmaydi agar kerak bo`lsa birinchi
belgilarni nollar bilan to`ldiradi.
Belgi va satrlarni o’qish-yozish funksiyalari makros ko’rinishida aniqlangan.
getc(   )   makrosi   tayinlangan   oqimdan   navbatdagi   belgini   qaytaradi   va   kirish
oqimi ko’rsatkichini  keyingi  belgiga o’tkazadi. Agar o’qish muvaffaqiyatli bo’lsa
getc()   funksiyasi  ishorasiz   int   ko’rinishidagi qiymatni, aks holda   YEOF   qiymatini
qaytaradi. Ushbu funksiya prototipi quyidagicha:
int getc(FILE * stream);
EOF identifikator makrosi
#define EOF(-1);
ko’rinishida   aniqlangan   va   o’qish-yozish   amallarida   fayl   oxirini   belgilash   uchun
xizmat qiladi.  YEOF  qiymati ishorali  char  turida bo’ladi. Shu sababli o’qish-yozish jarayonida   unsigned   char   turidagi   belgilar   ishlatilsa,   YEOF   makrosini   ishlatib
bo’lmaydi.
Belgini oqimga chiqarish uchun   putc()  makrosi aniqlangan va uning prototipi
quyidagi:
int putc(int c, FILE*stream);
ko’rinishida   aniqlangan.   putc()   funksiyasi   stream   nomi   bilan   berilgan   oqimga   c
belgini   chiqaradi.   Funksiya   qaytaruvchi   qiymat   int   turiga   aylantirilgan   c   belgi
hisoblanadi. Agar belgini chiqarishda xatolik ro’y bersa  YEOF  qaytariladi.
getc() va putc()  makroslarining qo’llanilishiga doir misol: 
#include <iostream.h>
#include <stdio.h>
int main()
{
char ch;
cout<<”Belgini kiriting:”;
ch=getc(stdin);
cout<<”Siz kiritgan belgi:\n”;
putc(ch,stdout);
return 0;
}
Belgilarning   ASCII   jadvalidagi   kodini   chop   etish   yoki   berilgan   kodga   mos
jadvaldagi   belgini   chiqarish   uchun   turni   oshkor   ko’rinishda   boshqa   turga
keltirishdan foydalaniladi. 
Masala.   ASCII  jadvalidagi barcha belgilarni o’z kodlari bilan birga chop 
etadigan dastur tuzilsin.
#include <iostream.h>
int main()
{
for (int i=0;i<=255;i++)
Cout<<i<<”|t”<<(char)i<<”|n”; Return 0;
}
Dastur bajarilganda  ASCII  jadvalidagi barcha kodlar va ularga mos belgilar 
chop etiladi.  
C++ tilida satr   char  turidagi belgilar massivi sifatida   q araladi va bu belgilar
ketma-ketligi   satr terminatori   deb nomlanuvchi   0   kodli belgi bilan tugaydi ( ‘\0’ ).
N ol-terminator  bilan tugaydigan satrlarni  ASSII z -satlar   deyiladi.
Satr   massivi   e'lon   q ilinishida,   satr   oxiriga   terminator   qo’ yilishi   va   natijada
satrga  qo’ shimcha bi r  bayt  qo’shilishini hisob ga olish kerak:
shar  satr[10] ;
Ushbu e'londa satr   o’zgaruvchisiga xotiradan   10 bayt   joy   ajratiladi , bundan   9
bayti  satr hosil  q iluvchi belgilar uchun va 1 bayt i esa   nol- terminator i  uchun.
Satr   o’ zgaruvchilar   e'lon   q ilinishida   boshlan ь ich   q iymatlarni   q abul   q ilishi
mumkin.   Bu   holda   kompilyator   avtomatik   ravishda   satr   uzunligini   hisoblaydi   va
satr oxiriga  nol- terminator i ni  qo’ shib  qo’ yadi:
char Hafta_kuni[]=”Juma” ;
Ushbu e'lon quyidagi e'lon bilan ekvivalent:
char Hafta_kuni[]={‘J’,’u’,’m’,’a’,’\0’} ;
Satr   qiymatini   o’qishda   oqimli   o’qish   operatori   ">>"   o’rniga   getline()
funksiyasini   ishlat ish   ma'qul   hisoblanadi,   chunki   oqimli   o’qishda   bo’sh   joylar
inkor   qilinadi   (ular   satr   belgisi   hisoblansa   ham) .   Oqimli   o’qishda   o’ qilayotgan
belgilar   ketma-ketligi   satrdan   o’lchamidan   oshib   ketganda   ham   belgilarni ng
kiriti li sh i   davom   etishi   mumkin.   Natijada   satr   o’ziga   ajratilgan   o’lchamdan   ortiq
belgilarni   qabul   qiladi   va   turli   xatoliklar   kelib   chiqadi .   Shu   sababli   ham   satrlarni
o’qishda   getline()   funksiyasi dan   foydalanish   maqsadga   muvofiq.   getline()
funksiyasi   ikkita   parametrga   ega   bo’lib,   birinchi   parametr   o’qish   amalga
oshirilayotgan   satrga   ko’rsatkich,   ikkinchi   parametr   esa   o’qilishi   kerak   bo’lgan
belgilar soni ni  ko’rsat a di. 
O q imdan   satrni   o’q ishga   m o’ ljallangan   gets()   funksiyasining   prototipi
q uyidagi, char * gets(char *s);
k o’ rinishida   ani q langan   b o’ lib,   u   standart   o q imdan   satrni   o’q iydi   va   uni   s
o’ zgaruvchisiga   yozadi.   Joylashtirish   paytida   oqimdagi   ‘\n’   belgisi   ‘\0’   belgisi
bilan almashtiriladi. Bu funksiyani ishlatishda o’qilayotgan satrning uzunligi  s  satr
uchun ajratilgan joy uzunligidan oshib ketmasligini nazorat qilish kerak bo’ladi. 
puts()  funksiyasi quyidagi
int puts(const char *s);
ko’rinishda   bo’lib,   u   standart   oqimga   argumentda   ko’rsatilgan   satrni   chiqaradi.
Bunda   satr   oxiriga   yangi   satrga   o’tish   belgisi   ‘\n’   qo’shiladi.   Agar   satrni   oqimga
chiqarish   muvaffaqiyatli   bo’lsa   puts()   funksiyasi   manfiy   bo’lmagan   sonni,   aks
holda  YEOF  ni qaytaradi.
Satrni   o’qish-yozish   funksiyalarini   ishlatishga   misol   tariqasida   quyidagi
dasturni keltirish mumkin.
#include<stdio.h>
int main()
{
 char *s;
 puts(“Satrni kiriting: ”);
 gets(s);
 puts(“Kiritilgan satr: ”);
 puts(s);
 return 0;
}
Satr   bilan   ishlaydigan   funksiyalarning   aksariyati   «string.h»   kutubxonasida
jamlangan.   Dasturlashda   n isbatan   ko’p   ishlatiladigan   funksiyalarning   tavsifini
keltiramiz :
strlen() − satr uzunligini aniqlash funksiyasi. 
Sintaksisi:  size_t strlen(const char* string);
Bu funksiya uzunligi hisoblanayotgan satr boshiga ko’rsatkich bo’lgan yagona
parametrga   ega   va   u   natija   sifatida   ishorasiz   butun   sonni   qaytaradi.   strlen() funksiyasi  satrning haqiqiy uzunligidan bitta kam   qiymat qaytaradi, ya'ni   u   nol-
terminator ning  o’rnini hisobga olmaydi.
Satr uzunligini aniqlash uchun   sizeof()   funksiyasidan ham foydalanish mumkin va
u  strlen()  funksiyasidan farqli ravishda satrning haqiqiy uzunligini qaytaradi. 
sizeof()   funksiyasidan   getline()   funksiyasining   ikkinchi   argumenti   sifati
foydalaniladi va u satr uzunligini yaqqol ko’rsatmaslik imkonini beradi:
cin.getline(Satr, sizeof(Satr));
Satr   o’zgaruvchilarining   qiymatlarini     biridan     ikkinchisiga     nusxalash
mumkin.   Bu   maqsadda   bir   qator   standart   funksiyalar   aniqlangan   bo’lib,   ularning
ayrimlari bilan tanishamiz.
strcpy()− satrni nusxalash funksiyasi.
Sintaksisi: char* strcpy(char* str1, const char* str2);
Bu   funksiya   str2   satrdagi   belgilarni   str1   satriga   baytma-bayt   nusxalaydi.
Satrlarni ulash (konkatenatsiya) funksiyalari  strcat()  va  strncat().
Sintaksislari:   char*   strcat(char*   str1,   const   char*   str2);   Bu   funksiya   str1   satri
davomidan  str2  satrini ulaydi. 
char*   strncat(char*   str1,const   char*   str2,size_t   num);   Bu   funksiya   esa   str1
satri davomidan  str2  satrining ‘num’ta belgisini ulaydi.
Satrdagi   harf   registrlarini   o’zgartirish   funksiyalari   _strupr()   va   _strlwr() .
Kompilyatorlarning   ayrim   variantlarida   funksiyalar   nomidagi   tagchiziq   (‘_’)
bo’lmasligi ham mumkin.
Sintaksisi:   char   _strlwr(char*   str);   argument   sifatida   berilgan   satrdagi   bosh
harflarni   kichik   harflarga   almashtiradi   va   hosil   bo’lgan   satr   adresini   funksiya
natijasi sifatida qaytaradi. 
_strupr()   funksiyasi  xuddi   _strlwr()   funksiyasidek amal qiladi, lekin satrdagi
kichik harflarni bosh harflarga almashtiradi:
Satrni teskari tartiblash funksiyasi  strrev() .
Sintaksisi:   char*   strrev(char*   str);   str   satridagi   belgilarni   teskari   tartibda
tartiblaydi. Turlarni   o’zgartirish   funksiyalari:   atoi()−belgi   ko’rinishidagi   butun   sonni
butun son ko’rinishiga o’tkazish funksiyasi.
Sintaksisi:   int  atoi(const   char* ptr);   ptr   ko’rsatgichdagi  ASCIIz-satrni  int  turidagi
songa o’tkazishni amalga oshiradi. 
atol()  funksiyasi xuddi atoi() funksiyasidek amal qiladi, faqat funksiya natijasi
long   turida   bo’ladi.   Agar   hosil   bo’lgan   son   qiymati   long   chegarasiga   siьmasa,
funksiya kutilmagan qiymatni qaytaradi.
atof()− belgi   ko’rinishidagi   haqiqiy   sonni   haqiqiy   son   ko’rinishiga   o’tkazish
funksiyasi.
Sintaksisi:   double   atof()   (const   char*   ptr);   ptr   ko’rsatgichdagi   ASCIIz -satrni
double turidagi suzuvchi nuqtali songa o’tkazishni amalga oshiradi.
strtod()   funksiyasi  atof()  funksiyasidan farqli  ravishda satrni  doub1e turidagi
songa   o’tkazishda   konvertatsiya   jarayoni   uzulgan   paytda   aylantirish   mumkin
bo’lmagan   birinchi   belgi   adresini   ham   qaytaradi.   Bu   o’z   navbatida   satrning   xato
qismini qayta ishlash imkoniyatini beradi.
Sintaksisi:   double   strtod(const   char   *s,   char   **endptr);   endptr   ko’rsatkichi
konvertatsiya qilinishi mumkin bo’lmagan birinchi belgi adresi. 
itoa()   va   ltoa()   funksiyalari   mos   ravishda   int   va   long   turidagi   sonlarni   satr
ko’rinishiga   o’tkazadi.   Bu   funksiyalar   mos   ravishda   quyidagi   sintaksislarga   ega:
char* itoa(int num, char *str, int radix);
va   char*   ltoa(long   num,   char   *str,   int   radix);   num   sonini   radix   argumentda
ko’rsatilgan sanoq sistemasidagi ko’rinishini str satrda hosil qiladi. 
Masala.   O’nlik   sanoq   sistemasida   berilgan   12345   sonini   2   lik,   8   lik,   16   lik
sanoq sistemalariga o’tkazib, satr ko’rinishida tasvirlovchi dastur tuzilsin:
int main()
{
 char satr2[20],satr8[15],satr10[10],satr16[5];
 int son=12345;
 itoa(son,satr2,2);
 itoa(son,satr8,8);  itoa(son,satr10,10);
 itoa(son,satr16,16);
 cout<<”Son k o’ rinishlari”<<end1;
 cout<<”2 lik sano q  sistemasida :”<<satr2<<end1;
 cout<<”8 lik sano q  sistemasida :”<<satr8<<end1;
  cout<<”10 lik sano q  sistemasida:”<<satr10<<end1;
 cout<<”16 lik sano q  sistemasida:”<<satr16<<end1;
 return 0;
}
Dastur  ishlashi natijasida ekranga  q uyidagi satrlar chi q adi:
2 lik sano q  sistemasida :11000000111001;
8 lik sano q  sistemasida :30071;
10 lik sano q  sistemasida:12345;
16 lik sano q  sistemasida:3039;
Yuqorida   ko’rib   o’tilgan   funksiyalar   char   turidagi   massiv   satri   uc h un  o’rinli
hisoblanadi.
C++ tilining 32 razryadli apparat platformalar uchun yaratilgan variantlarida,
masalan, C++ Builder variantida standart satr turiga qo’shimcha sifatida string turi
kiritilgan va u string sinfi ko’rinishida amalga oshirilgan. Bu turdagi satr uchun  '\
0'  belgisi tugash belgisi hisoblanmaydi, ya’ni u oddiygina belgilar massivi sifatida
qaraladi.   string   turidagi   satr   uzunligi,   bajariladigan   amallar   natijasida   dinamik
ravishda   o’zgarib   turishi,   uning   tarkibida   bir   qator   funksiyalar   aniqlanganligi,   bu
tur bilan ishlashda ma'lum bir qulayliklar yaratadi.
string turidagi o’zgaruvchilar quyidagicha e'lon qilinadi: 
string s1,s2,s3;
Bu turdagi satrlar uchun maxsus amallar va funksiyalar aniqlangan.
Satr turidagi o’zgaruvchiga qiymat berish:
string s1=”b evosita qiymatlash ”;
string s 2 (s 1 );
string s 3 =s 2 ; string  turidagi o’zgaruvchilar bilan ishlovchi funksiyalar:  
Bir satr qismini boshqa satrga yuklash uchun quyidagi funksiyalarni ishlatish
mumkin, ularning prototipi quyidagicha:
assign(const string &str);
assign(const string &str,   unsigned int pos,   unsigned int n);
assign(const char *str, int n);
Birinchi funksiya qiymat berish amali bilan ekvivalentdir .
Ikkinchi funksiya chaqiruvchi satrga argumentdagi str satrning pos o’rnidan  n
ta   belgidan   iborat   bo’lgan   satr   qismini   nusxalaydi.   Agarda   p os   qiymati   str   satr
uzunligidan   katta   bo’lsa,   xatolik   haqida   ogohlantiriladi.   A gar   pos+n   ifoda ning
qiymati   str   satr   uzunligidan   katta   bo’lsa,   str   satrining   p os   o’rnidan   boshlab   satr
oxirigacha   bo’lgan   belgilar   nusxalanadi.   Bu   qoida   navbatdagi   f unksiyalar   uchun
o’rinlidir .
Uchinchi   funksiya   argumentdagi   char   turidagi   str   satrni   string   turiga
aylantirib, funksiyani chaqiruvchi satrga  qiymatlaydi.
Satr qismini boshqa satrga qo’shish funksiyalari:
append(const string &str);
append(const string&str,unsigned int pos,unsigned int n);
append(const char *str,int n);
Bu funksiyalarni ng  yuqorida keltirilgan assign funksiyalar i dan farqi  shundaki,
bu   funksiyalar   funksiyani   chaqiruvchi   satr   oxiriga   str   satr i ni ng   o’zini   yoki   uning
qismini qo’shadi.
Satr qismini o’chirish funksiya lari :
erase(unsigned int pos=0,unsigned n=pos);  
Bu   funksiya,   uni   chaqiruvchi   satrning   pos   o’rnidan   boshlab   n   ta   belgini
o’chirib   tashlaydi.   Agarda   pos   ko’rsatilmasa,   satr   boshidan   boshlab   o’chiriladi.
Agar  n  ko’rsatilmasa, satrni ng  oxirigacha bo’lgan belgilar o’chiriladi .
void clear()  funksiyasi, uni chaqiruvchi satrni to’liq tozalaydi. 
Bir satrga ikkinchi satr qismini joylashtiruvchi funksiyalar:
insert(unsigned int pos1,const string &str); insert(unsigned int pos1,const string & str, unsigned int pos2, unsigned int n);
insert(unsigned int pos1,const char *str, int n);
Bu   funksiyalar   append   kabi   ishlaydi.   Undan   farqi   shundaki,   str   satrini   yoki
uning qismini  funksiyani  chaqiruvchi  satrning ko’rsatilgan   pos1   o’rnidan boshlab
joylashtiradi. Bunda funksiyani chaqirgan satrning  pos1  o’rindan keyin joylashgan
belgilar o’nga suriladi.
Bir satr qismining o’rniga boshqa satrning qismini qo’yish funksiyalari:
replace(unsigned int pos1,unsigned int n1,const string &str);
replace(unsigned   int   pos1,   unsigned   int   n1,const   string   &   str,   unsigned   int
pos2,unsigned int n2);
replace(unsigned int pos1, unsigned int n1,const char *str, int n);
Bu   funksiyalar   insert   kabi   ishlaydi .   U ndan   farq i   shundaki,   funksiya
chaqiruvchi   satrning  ko’rsatilgan   o’rnidan   (pos1)  n1   ta   belgilar  o’rniga  str   satrini
yoki   uning   pos2   o’rindan   boshlangan   n2   ta   belgidan   iborat   qismini   qo’yadi
(almashtiradi).
Ikkita satr o’zgaruvchisining qiymatlarini  o’zaro almashtirish  funksiyasi:
swap(string &str); 
Satr qismini ajratib olish funksiyasi:
string substr(unsigned int pos=0,unsigned int n=npos)const; 
Bu funksiya, uni chaqiruvchi satrning  pos  o’rnidan boshlab  n  ta  belgini natija
sifatida   qaytaradi.   Agarda   pos   ko’rsatilmasa,   satr   boshidan   boshlab   n   ta   belgi
ajratib   olinadi,   agar   n   ko’rsatilmasa,   pos   dan   boshlab   satr   oxirigacha   bo’lgan
belgilar natija sifatida qaytariladi .
string  turidagi satrni  char  turiga o’tkazish  funksiyalari:
const char * c_str()const;
b u   funksiya   char   turdagi   ‘\0’   belgisi   bilan   tugaydigan   satrga   o’zgarmas
ko’rsatkichni qaytaradi .
const char * data()const;
bu funksiya esa satr oxiriga ‘\0’ belgisini qo’shmaydi. Satr   qismini   izlash   funksiyalari.   Q uyida   ulardan   asosiylarining   tavsifini
keltiramiz:
unsigned int find(const string &str,unsigned int pos=0)const;
bu   unksiya,   uni   chaqirgan   satrning   ko’rsatilgan   joyidan   (pos)   boshlab   str   satrni
qidiradi va birinchi mos keluvchi satr qismining boshlanish o’rnini qiymat sifatida
qaytaradi,   aks   holda   maksimal   musbat   butun   npos   sonini   qaytaradi,   agar   izlash
o’rni (pos) berilmasa, izlanayotgan qism satr satr boshidan boshlab izlanadi.
unsigned int find(char c.unsigned int pos=0)const;
bu funksiya oldingi funksiyadan farqli ravishda satrdan (c) belgini izlaydi.
unsigned int rfind(const string &str,unsigned int pos=npos)const;
bu   f unksiya,   uni   chaqirgan   satrning   ko’rsatilgan   pos   o’rnigacha   str   satr i ning
birinchi   uchragan   joyini ng   o’rni ni   qaytaradi,   aks   holda   esa   npos   qiymatini
qaytaradi, agar  pos  ko’rsatilmasa  izlash  satr oxirigacha  davom ettiriladi .
Satr   xossalarini   aniqlash   funksiyalari .   string   sinfida   satr   uzunligi ni ,
bo’shligini   va   uning   egallagan   xotira   hajmini   aniqlaydigan   funksiyalar   ham
mavjud.
unsigned int size() const;  //satr o’lchami ;
unsigned int length() const;  //satr dagi   elementlar soni ;
unsigned int max_size() const;  //satrning maksimal   uzunligi ;
unsigned   int   capacity()   const;   /*satrning   xotiradan   egallagan   hajmini
qaytaradi; */
bool   empty()const;   /*agar   satr   bo’sh   bo’lsa,   1(rost),   aks   holda   0(yolьon)
qiymatini qaytaradi;*/
Satrlar   bilan   ishlovchi   funksiyalar   ko’p   sonli   bo’lib,   yuqorida   ularning
nisbatan   ko’p   ishlatiladiganlaridan   namunalar   keltirildi.   C++   tilida   satr   char
turidagi   belgilar   massivi   sifatida   qaraladi   va   bu   belgilar   ketma-ketligi   satr
terminatori   deb   nomlanuvchi   0   kodli   belgi   bilan   tugaydi   ( ‘\0’ ).   Nol-terminator
bilan tugaydigan satrlarni  ASSIIz-satlar   deyiladi.
Satr   massivi   e'lon   qilinishida,   satr   oxiriga   terminator   qo’yilishi   va   natijada
satrga qo’shimcha bir bayt qo’shilishini hisobga olish kerak: shar  satr[10] ;
Ushbu e'londa satr o’zgaruvchisiga xotiradan 10 bayt joy ajratiladi, bundan 9
bayti satr hosil qiluvchi belgilar uchun va 1 bayti esa nol-terminatori uchun.
Satr   o’zgaruvchilar   e'lon   qilinishida   boshlanьich   qiymatlarni   qabul   qilishi
mumkin.   Bu   holda   kompilyator   avtomatik   ravishda   satr   uzunligini   hisoblaydi   va
satr oxiriga nol-terminatorini qo’shib qo’yadi:
char Hafta_kuni[]=”Juma” ;
Ushbu e'lon quyidagi e'lon bilan ekvivalent:
char Hafta_kuni[]={‘J’,’u’,’m’,’a’,’\0’} ;
Satr   qiymatini   o’qishda   oqimli   o’qish   operatori   ">>"   o’rniga   getline()
funksiyasini   ishlat ish   ma'qul   hisoblanadi,   chunki   oqimli   o’qishda   bo’sh   joylar
inkor   qilinadi   (ular   satr   belgisi   hisoblansa   ham) .   Oqimli   o’qishda   o’ qilayotgan
belgilar   ketma-ketligi   satrdan   o’lchamidan   oshib   ketganda   ham   belgilarni ng
kiriti li sh i   davom   etishi   mumkin.   Natijada   satr   o’ziga   ajratilgan   o’lchamdan   ortiq
belgilarni   qabul   qiladi   va   turli   xatoliklar   kelib   chiqadi .   Shu   sababli   ham   satrlarni
o’qishda   getline()   funksiyasi dan   foydalanish   maqsadga   muvofiq.   getline()
funksiyasi   ikkita   parametrga   ega   bo’lib,   birinchi   parametr   o’qish   amalga
oshirilayotgan   satrga   ko’rsatkich,   ikkinchi   parametr   esa   o’qilishi   kerak   bo’lgan
belgilar soni ni  ko’rsat a di. 
O q imdan   satrni   o’q ishga   m o’ ljallangan   gets()   funksiyasining   prototipi
q uyidagi,
char * gets(char *s);
k o’ rinishida   ani q langan   b o’ lib,   u   standart   o q imdan   satrni   o’q iydi   va   uni   s
o’ zgaruvchisiga   yozadi.   Joylashtirish   paytida   oqimdagi   ‘\n’   belgisi   ‘\0’   belgisi
bilan almashtiriladi. Bu funksiyani ishlatishda o’qilayotgan satrning uzunligi  s  satr
uchun ajratilgan joy uzunligidan oshib ketmasligini nazorat qilish kerak bo’ladi. 
puts()  funksiyasi quyidagi
int puts(const char *s);
ko’rinishda   bo’lib,   u   standart   oqimga   argumentda   ko’rsatilgan   satrni   chiqaradi.
Bunda   satr   oxiriga   yangi   satrga   o’tish   belgisi   ‘\n’   qo’shiladi.   Agar   satrni   oqimga chiqarish   muvaffaqiyatli   bo’lsa   puts()   funksiyasi   manfiy   bo’lmagan   sonni,   aks
holda  YEOF  ni qaytaradi.
Satrni   o’qish-yozish   funksiyalarini   ishlatishga   misol   tariqasida   quyidagi
dasturni keltirish mumkin.
#include<stdio.h>
int main()
{
 char *s;
 puts(“Satrni kiriting: ”);
 gets(s);
 puts(“Kiritilgan satr: ”);
 puts(s);
 return 0;
}
Satr   bilan   ishlaydigan   funksiyalarning   aksariyati   «string.h»   kutubxonasida
jamlangan.   Dasturlashda   n isbatan   ko’p   ishlatiladigan   funksiyalarning   tavsifini
keltiramiz :
strlen() − satr uzunligini aniqlash funksiyasi. 
Sintaksisi:  size_t strlen(const char* string);
Bu funksiya uzunligi hisoblanayotgan satr boshiga ko’rsatkich bo’lgan yagona
parametrga   ega   va   u   natija   sifatida   ishorasiz   butun   sonni   qaytaradi.   strlen()
funksiyasi  satrning haqiqiy uzunligidan bitta kam   qiymat qaytaradi, ya'ni   u   nol-
terminator ning  o’rnini hisobga olmaydi.
Satr uzunligini aniqlash uchun   sizeof()   funksiyasidan ham foydalanish mumkin va
u  strlen()  funksiyasidan farqli ravishda satrning haqiqiy uzunligini qaytaradi. 
sizeof()   funksiyasidan   getline()   funksiyasining   ikkinchi   argumenti   sifati
foydalaniladi va u satr uzunligini yaqqol ko’rsatmaslik imkonini beradi:
cin.getline(Satr, sizeof(Satr)); Satr   o’zgaruvchilarining   qiymatlarini     biridan     ikkinchisiga     nusxalash
mumkin.   Bu   maqsadda   bir   qator   standart   funksiyalar   aniqlangan   bo’lib,   ularning
ayrimlari bilan tanishamiz.
strcpy()− satrni nusxalash funksiyasi.
Sintaksisi: char* strcpy(char* str1, const char* str2);
Bu   funksiya   str2   satrdagi   belgilarni   str1   satriga   baytma-bayt   nusxalaydi.
Satrlarni ulash (konkatenatsiya) funksiyalari  strcat()  va  strncat().
Sintaksislari:   char*   strcat(char*   str1,   const   char*   str2);   Bu   funksiya   str1   satri
davomidan  str2  satrini ulaydi. 
char*   strncat(char*   str1,const   char*   str2,size_t   num);   Bu   funksiya   esa   str1
satri davomidan  str2  satrining ‘num’ta belgisini ulaydi.
Satrdagi   harf   registrlarini   o’zgartirish   funksiyalari   _strupr()   va   _strlwr() .
Kompilyatorlarning   ayrim   variantlarida   funksiyalar   nomidagi   tagchiziq   (‘_’)
bo’lmasligi ham mumkin.
Sintaksisi:   char   _strlwr(char*   str);   argument   sifatida   berilgan   satrdagi   bosh
harflarni   kichik   harflarga   almashtiradi   va   hosil   bo’lgan   satr   adresini   funksiya
natijasi sifatida qaytaradi. 
_strupr()   funksiyasi  xuddi   _strlwr()   funksiyasidek amal qiladi, lekin satrdagi
kichik harflarni bosh harflarga almashtiradi:
Satrni teskari tartiblash funksiyasi  strrev() .
Sintaksisi:   char*   strrev(char*   str);   str   satridagi   belgilarni   teskari   tartibda
tartiblaydi.
Turlarni   o’zgartirish   funksiyalari:   atoi()−belgi   ko’rinishidagi   butun   sonni
butun son ko’rinishiga o’tkazish funksiyasi.
Sintaksisi:   int  atoi(const   char* ptr);   ptr   ko’rsatgichdagi  ASCIIz-satrni  int  turidagi
songa o’tkazishni amalga oshiradi. 
atol()  funksiyasi xuddi atoi() funksiyasidek amal qiladi, faqat funksiya natijasi
long   turida   bo’ladi.   Agar   hosil   bo’lgan   son   qiymati   long   chegarasiga   siьmasa,
funksiya kutilmagan qiymatni qaytaradi. atof()− belgi   ko’rinishidagi   haqiqiy   sonni   haqiqiy   son   ko’rinishiga   o’tkazish
funksiyasi.
Sintaksisi:   double   atof()   (const   char*   ptr);   ptr   ko’rsatgichdagi   ASCIIz -satrni
double turidagi suzuvchi nuqtali songa o’tkazishni amalga oshiradi.
strtod()   funksiyasi  atof()  funksiyasidan farqli  ravishda satrni  doub1e turidagi
songa   o’tkazishda   konvertatsiya   jarayoni   uzulgan   paytda   aylantirish   mumkin
bo’lmagan   birinchi   belgi   adresini   ham   qaytaradi.   Bu   o’z   navbatida   satrning   xato
qismini qayta ishlash imkoniyatini beradi.
Sintaksisi:   double   strtod(const   char   *s,   char   **endptr);   endptr   ko’rsatkichi
konvertatsiya qilinishi mumkin bo’lmagan birinchi belgi adresi. 
itoa()   va   ltoa()   funksiyalari   mos   ravishda   int   va   long   turidagi   sonlarni   satr
ko’rinishiga   o’tkazadi.   Bu   funksiyalar   mos   ravishda   quyidagi   sintaksislarga   ega:
char* itoa(int num, char *str, int radix);
va   char*   ltoa(long   num,   char   *str,   int   radix);   num   sonini   radix   argumentda
ko’rsatilgan sanoq sistemasidagi ko’rinishini str satrda hosil qiladi. 
Masala.   O’nlik   sanoq   sistemasida   berilgan   12345   sonini   2   lik,   8   lik,   16   lik
sanoq sistemalariga o’tkazib, satr ko’rinishida tasvirlovchi dastur tuzilsin:
int main()
{
 char satr2[20],satr8[15],satr10[10],satr16[5];
 int son=12345;
 itoa(son,satr2,2);
 itoa(son,satr8,8);
 itoa(son,satr10,10);
 itoa(son,satr16,16);
 cout<<”Son k o’ rinishlari”<<end1;
 cout<<”2 lik sano q  sistemasida :”<<satr2<<end1;
 cout<<”8 lik sano q  sistemasida :”<<satr8<<end1;
  cout<<”10 lik sano q  sistemasida:”<<satr10<<end1;
 cout<<”16 lik sano q  sistemasida:”<<satr16<<end1;  return 0;
}
Dastur  ishlashi natijasida ekranga  q uyidagi satrlar chi q adi:
2 lik sano q  sistemasida :11000000111001;
8 lik sano q  sistemasida :30071;
10 lik sano q  sistemasida:12345;
16 lik sano q  sistemasida:3039;
Yuqorida   ko’rib   o’tilgan   funksiyalar   char   turidagi   massiv   satri   uc h un  o’rinli
hisoblanadi.
C++ tilining 32 razryadli apparat platformalar uchun yaratilgan variantlarida,
masalan, C++ Builder variantida standart satr turiga qo’shimcha sifatida string turi
kiritilgan va u string sinfi ko’rinishida amalga oshirilgan. Bu turdagi satr uchun  '\
0'  belgisi tugash belgisi hisoblanmaydi, ya’ni u oddiygina belgilar massivi sifatida
qaraladi.   string   turidagi   satr   uzunligi,   bajariladigan   amallar   natijasida   dinamik
ravishda   o’zgarib   turishi,   uning   tarkibida   bir   qator   funksiyalar   aniqlanganligi,   bu
tur bilan ishlashda ma'lum bir qulayliklar yaratadi.
string turidagi o’zgaruvchilar quyidagicha e'lon qilinadi: 
string s1,s2,s3;
Bu turdagi satrlar uchun maxsus amallar va funksiyalar aniqlangan.
Satr turidagi o’zgaruvchiga qiymat berish:
string s1=”b evosita qiymatlash ”;
string s 2 (s 1 );
string s 3 =s 2 ;
string  turidagi o’zgaruvchilar bilan ishlovchi funksiyalar:  
Bir satr qismini boshqa satrga yuklash uchun quyidagi funksiyalarni ishlatish
mumkin, ularning prototipi quyidagicha:
assign(const string &str);
assign(const string &str,   unsigned int pos,   unsigned int n);
assign(const char *str, int n);
Birinchi funksiya qiymat berish amali bilan ekvivalentdir . Ikkinchi funksiya chaqiruvchi satrga argumentdagi str satrning pos o’rnidan  n
ta   belgidan   iborat   bo’lgan   satr   qismini   nusxalaydi.   Agarda   p os   qiymati   str   satr
uzunligidan   katta   bo’lsa,   xatolik   haqida   ogohlantiriladi.   A gar   pos+n   ifoda ning
qiymati   str   satr   uzunligidan   katta   bo’lsa,   str   satrining   p os   o’rnidan   boshlab   satr
oxirigacha   bo’lgan   belgilar   nusxalanadi.   Bu   qoida   navbatdagi   f unksiyalar   uchun
o’rinlidir .
Uchinchi   funksiya   argumentdagi   char   turidagi   str   satrni   string   turiga
aylantirib, funksiyani chaqiruvchi satrga  qiymatlaydi.
Satr qismini boshqa satrga qo’shish funksiyalari:
append(const string &str);
append(const string&str,unsigned int pos,unsigned int n);
append(const char *str,int n);
Bu funksiyalarni ng  yuqorida keltirilgan assign funksiyalar i dan farqi  shundaki,
bu   funksiyalar   funksiyani   chaqiruvchi   satr   oxiriga   str   satr i ni ng   o’zini   yoki   uning
qismini qo’shadi.
Satr qismini o’chirish funksiya lari :
erase(unsigned int pos=0,unsigned n=pos);  
Bu   funksiya,   uni   chaqiruvchi   satrning   pos   o’rnidan   boshlab   n   ta   belgini
o’chirib   tashlaydi.   Agarda   pos   ko’rsatilmasa,   satr   boshidan   boshlab   o’chiriladi.
Agar  n  ko’rsatilmasa, satrni ng  oxirigacha bo’lgan belgilar o’chiriladi .
void clear()  funksiyasi, uni chaqiruvchi satrni to’liq tozalaydi. 
Bir satrga ikkinchi satr qismini joylashtiruvchi funksiyalar:
insert(unsigned int pos1,const string &str);
insert(unsigned int pos1,const string & str, unsigned int pos2, unsigned int n);
insert(unsigned int pos1,const char *str, int n);
Bu   funksiyalar   append   kabi   ishlaydi.   Undan   farqi   shundaki,   str   satrini   yoki
uning qismini  funksiyani  chaqiruvchi  satrning ko’rsatilgan   pos1   o’rnidan boshlab
joylashtiradi. Bunda funksiyani chaqirgan satrning  pos1  o’rindan keyin joylashgan
belgilar o’nga suriladi.
Bir satr qismining o’rniga boshqa satrning qismini qo’yish funksiyalari: replace(unsigned int pos1,unsigned int n1,const string &str);
replace(unsigned   int   pos1,   unsigned   int   n1,const   string   &   str,   unsigned   int
pos2,unsigned int n2);
replace(unsigned int pos1, unsigned int n1,const char *str, int n);
Bu   funksiyalar   insert   kabi   ishlaydi .   U ndan   farq i   shundaki,   funksiya
chaqiruvchi   satrning  ko’rsatilgan   o’rnidan   (pos1)  n1   ta   belgilar  o’rniga  str   satrini
yoki   uning   pos2   o’rindan   boshlangan   n2   ta   belgidan   iborat   qismini   qo’yadi
(almashtiradi).
Ikkita satr o’zgaruvchisining qiymatlarini  o’zaro almashtirish  funksiyasi:
swap(string &str); 
Satr qismini ajratib olish funksiyasi:
string substr(unsigned int pos=0,unsigned int n=npos)const; 
Bu funksiya, uni chaqiruvchi satrning  pos  o’rnidan boshlab  n  ta  belgini natija
sifatida   qaytaradi.   Agarda   pos   ko’rsatilmasa,   satr   boshidan   boshlab   n   ta   belgi
ajratib   olinadi,   agar   n   ko’rsatilmasa,   pos   dan   boshlab   satr   oxirigacha   bo’lgan
belgilar natija sifatida qaytariladi .
string  turidagi satrni  char  turiga o’tkazish  funksiyalari:
const char * c_str()const;
b u   funksiya   char   turdagi   ‘\0’   belgisi   bilan   tugaydigan   satrga   o’zgarmas
ko’rsatkichni qaytaradi .
const char * data()const;
bu funksiya esa satr oxiriga ‘\0’ belgisini qo’shmaydi.
Satr   qismini   izlash   funksiyalari.   Q uyida   ulardan   asosiylarining   tavsifini
keltiramiz:
unsigned int find(const string &str,unsigned int pos=0)const;
bu   unksiya,   uni   chaqirgan   satrning   ko’rsatilgan   joyidan   (pos)   boshlab   str   satrni
qidiradi va birinchi mos keluvchi satr qismining boshlanish o’rnini qiymat sifatida
qaytaradi,   aks   holda   maksimal   musbat   butun   npos   sonini   qaytaradi,   agar   izlash
o’rni (pos) berilmasa, izlanayotgan qism satr satr boshidan boshlab izlanadi.
unsigned int find(char c.unsigned int pos=0)const; bu funksiya oldingi funksiyadan farqli ravishda satrdan (c) belgini izlaydi.
unsigned int rfind(const string &str,unsigned int pos=npos)const;
bu   f unksiya,   uni   chaqirgan   satrning   ko’rsatilgan   pos   o’rnigacha   str   satr i ning
birinchi   uchragan   joyini ng   o’rni ni   qaytaradi,   aks   holda   esa   npos   qiymatini
qaytaradi, agar  pos  ko’rsatilmasa  izlash  satr oxirigacha  davom ettiriladi .
Satr   xossalarini   aniqlash   funksiyalari .   string   sinfida   satr   uzunligi ni ,
bo’shligini   va   uning   egallagan   xotira   hajmini   aniqlaydigan   funksiyalar   ham
mavjud.
unsigned int size() const;  //satr o’lchami ;
unsigned int length() const;  //satr dagi   elementlar soni ;
unsigned int max_size() const;  //satrning maksimal   uzunligi ;
unsigned   int   capacity()   const;   /*satrning   xotiradan   egallagan   hajmini
qaytaradi; */
bool   empty()const;   /*agar   satr   bo’sh   bo’lsa,   1(rost),   aks   holda   0(yolьon)
qiymatini qaytaradi;*/
Satrlar bilan ishlovchi funksiyalar   ko’p sonli bo’lib, yuqorida ularning 
nisbatan ko’p ishlatiladiganlaridan namunalar keltirildi. III. LOYHA QISMI
            3.   Berilgan   String   ni   eng   ko'p   bo'laklarga   ajrating.   Bo'laklarning   uzunligi
teng bo'lishi kerak. Bo'laklarning uzunligi 1 dan katta bo'lsin. Agar string 1 dan
ortiq bo'laklarga ajratilmasa "Boshqa Topshiriqlar bormi?" degan so'z konsolga
chiqsin: Dastur quyiidagicha tuziladi:  DASTUR JAVOBI: Xulosa.
Men   ushbu   mustaqil   ishini   yozish   davomida   algoritmlarni   kelib   chiqish   tarixini,
ularning   dastlab   atalgan   nomlarini   va   ularning   xossalarini,   turlarini   o’rganib   chiqdim.
Algoritm turlaridan   takrorlanuvchi jarayonlarni, ichma- ich takrorlanuvchi   jarayonlarni,
ketma-ket   yaqinlashuvchi algoritmni, ya’ni iteratsion jarayonlarni to’liq yoritib berishga
harakat qildim. Xulosa o’rnida aytishim mumkinki, ichma-ich takrorlanuvchi   jarayonlar
asosan,   ikki va undan yuqori o’lchovli massivlarda keng qo’llaniladi. FOYDALANILGAN ADABIYOTLAR
1. Straustrup B. Yazik programmirovaniya C++. Trete izdanie, M.: Binom, 2014. 
2. Shmidskiy Ya.K. Programmirovaniye na yazike C++: Samouchitel. Uchebnoe 
posobie. Dialektika. 361 str, 2004 g.                                                                             
3. Asharina N.A. Osnovi programmirovaniya na yazikax C, C++. Uchebniy kurs.M.: 
2012 g. 
4. Podbelskiy V.V. Yazik C++  M.: Finansi i statistika, 2006. 
5. Kondzyuba S.P., Gromov V.N. Delphi 6/7. Baza dannыx i prilojeniya. M.- Sankt-
Peterburg - Kiev, 2002 g 
6. Bjarne Straustrup. Programming: Principles and Practice Using C++ (2nd Edition). 
Person Education, Inc. 2014. second printing, January 2015. 
7. Harry Hariom Choudhary, Bjarne M Straustrup. C++ Programming Professional.: 
Sixth Best Selling Edition for Beginner’s & Expert’s 2014. 
8. Bjarne Straustrup. The C++ Programming Language, 4th Edition. Person Education,
Inc. 2013. Third printing, April 2014.

Satrlar bilan ishlash

Sotib olish
  • O'xshash dokumentlar

  • Access dasturi yordamida “dorixona” ma‘lumotlar bazasini yaratish
  • Agile va Scrum metodologiyalari dasturiy ta'minot ishlab chiqish
  • Tashkilot miqyosida masofadan muloqot qilish.
  • Talabalar haqida ma'lumot saqlovchi tizim
  • HTML tili, uning asosiy elementlari. Jadval va rasm hosil qilish. Gipermatn va freymlar joylashtirish

Xaridni tasdiqlang

Ha Yo'q

© Copyright 2019-2025. Created by Foreach.Soft

  • Balansdan chiqarish bo'yicha ko'rsatmalar
  • Biz bilan aloqa
  • Saytdan foydalanish yuriqnomasi
  • Fayl yuklash yuriqnomasi
  • Русский