logo

Belgi va satrlar

Yuklangan vaqt:

08.08.2023

Ko'chirishlar soni:

0

Hajmi:

51.3486328125 KB
REJA
 
1. Belgi va satrlar; 
2. Satr uzunligini aniqlash; 
3. Satrlarni nusxalash; 
4. Satrlarni ulash; 
5. Satrlarni teskari tartiblash; 
6. Satrdan belgini izlash; 
7. Satr ichidan satr qismini izlash. 
 
KIRISH
Shomurodov Sunnat 225 guruh C++   dasturlash   tilida   satr   turi   va   ulardan   foydalanish   usullari   va
tamoyillarini   qarab   o’tamiz.   Satr   turi   bu   belgilardan   tashkil   topgan   ma‘lumotlar
majmuasi   hisoblanadi.   Satrlarning   uzunligini   aniqlash,   satrlarni   nusxalash,
satrlarni     kerakli   joyga   o’rnatish   kabi   amallarni   bajarish   uchun   C++dasturlash
tilida   keng   imkoniyati   mavjud.   C++   dasturlash   tilida   satrlar   ham   boshqa   turlar
kabi   oldin    dastur   tarkibida   e‘lon  qilinishi  kerak.  Satrlar  e‘lon  qilingandan  keyin
ular ustida amallar bajarish mumkin.  
 
Belgi va satrlar 
C++ dasturlash tilida bir nechta turlardan foydalanish va ular ustida amallar
bajarish mimkin, dasturlash muhitida boshqa turlar kabi belgili turlar ham mavjud.
C++   dasturlash   tilida   belgili   turlar   char   turiga   mansub   bo’lgan   yagona   elementli
tur   hisoblanadi.   C++   dasturlash   tilida   satrlar   uchun   alohida   maxsus   turlar   ishlab
chiqilmagan satrlarni belgilar massivi sifatida ishlatish imkoniyati mavjud. 
Ta‘rif: Alohida nom bilan saqlanuvchi bir nechta belgilardan tashkil topgan
belgilar majmuasi satr deyiladi. 
Satrlarni belgilar massivi sifatida qarab ular ustida amallar bajarish mumkin.
C++   dasturlash   tilida   satrlar   nol(‘\0‘)   terminatori   bilan   tugaydi.   Nol   terminatori
bilan tugaydigan satrlar ASCIIZ –satrlari deyiladi. 
Satrlardan   foydalanish   va   ular   ustida   amallar   bajarish   uchun   albatta   oldin
ularni   e‘lon   qilish   kerak.   Satr   turiga   mansub   bo’lgan   o’zgaruvchilarni   char
xizmatchi   so’zi   orqali   e‘lon   qilinadi.   Satrlarni   e‘lon   qilish   uchun   quyidagi
dasturlarga etibor bering. 
#include <iostream.h> 
#include <string.h>   using 
namespace std;      
int main()                                  
{ char s[10];  // s satrli o’zgaruvchini e‘lon qilish     return 
0;                                  }                                                  
 
        Yuqoridagi   dastur   tarkibida   s[10]   satr   o’zgaruvchisi   9   ta   elementga   va
bitta   nol   terminatoriga   mo’ljallangan.   Satrlarni   boshlang‘ich   qiymatlarini   berish
jarayonida   uning   elementlar   sonini   berish   shart   emas.   Agar   satrlarni   elementlar
soni   berilmasa   dastur   avtomatik   ravishda   uning   elementlar   soniga   boshlang‘ich
qiymatdagi   elementlar   sonidan   bitta   ortiq   qilib   ta‘minlaydi,   chunki   oxiriga   bitta
nol   terminatorini   hisobga   oladi.   Doim   satrlarni   kiritishda   uning   elementlar   soni
e‘lon   qilinganidan   oshib   ketmasligi   kerak   aks   holda   faqat   e‘lon   qilingan
elementlar soniga teng elementlarni saqlab qolinib qolganlari olinmaydi. 
Satrlarni kiritish  jarayonida >> oqim bo’yicha kiritishdan foydalanmasdan
getline()   funksiyasidan   foydalanish   maqsadga   muvofiq   bo’ladi.   Agar   oqim
Shomurodov Sunnat 225 guruh
  bo’yicha   kiritishdan   foydalanilsa   unda   probellar   inkor   qilinib   satrni   ikkinchi
qismlari   qabul   qilinmaydi.   getline(s,n)   funksiyasi   ikkita   parametrni   o’z   ichiga
oladi,   birinchisi   s   satr   o’zgaruvchisi   ikkinchisi   n   satr   elementlar   soni.   Getline
funksiyasi satr elementlaridan ortiq qiymatlarni ham kiritish imkoniyatini yaratadi,
natijada satr elementlari ortadi. Kiritish jarayonini amalga oshirish uchun quyidagi
dasturlarga etibor bering. 
Misol:  Berilgan satrni ekranga chiqaring. 
 
   #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { char s[10];  // s satrli o’zgaruvchini e‘lon 
qilish     cin.getline(s,10);      cout<<s; 
  return 0;                               
   }                                                  
Kiritish ma‘lumotlari 
Absdefghl  Dastur natijasi 
Absdefghl 
 
Yuqoridagi dastur tarkibidagi s satrli o’zgaruvchi faqat 9 ta elementni qbul
qiladi, agar 9 tadan ortiq bo’lsa natija qaytarmaydi. 
 
Satr uzunligini aniqlash 
Satrlar   ustida   amallar   bajarish   vaqtida   albatta   satrlarning   uzunligi   kerak
bo’ladi.   Satr   uzunligini   aniqlash   uchun   string.h   kutubhonasiga   murojat   qilish
kerak   aksariyat   satr   uchun   ishlatiladigan   funksiyalarni   string.h   kutubhonasiga
murojat   qilib   ishlatishimiz   mumkin.   Satr   uzunligini   aniqlashni   ikki   hil   usuli
mavjud. 
-satr tarkibidagi mavjud elementlar sonini nol terminatorisiz aniqlash; 
-satr tarkibidagi elementlarga ajratilgan sonini nol terminatori bilan aniqlash; 
Satr tarkibidagi mavjud elementlar sonini nol terminatorisiz aniqlash 
funksiyasining umumiy ko’rinishi quyidagicha bo’ladi.  strlen(<satrli 
o‘zgaruvchi>); 
Strlen funksiyasi o’z tarkibiga satrli o’zgaruvchi yoki satr uzini qabul qilishi
mumkin. Masalan strlen (―absd ) bo’lsa uning natijasi 4 ga teng bo’ladi.  ‖ Misol:
Berilgan satr tarkibidagi elementlar sonini aniqlang.. 
 
Shomurodov Sunnat 225 guruh    #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { char s[10];       
cin.getline(s,10);         
x=strlen(s); 
   cout<<x;  
   return 0;                                
}                                               
Kiritish ma‘lumotlari 
Dastur  Dastur natijasi 
6 
Demak   strlen(s)   funksiyasi   s   satrni   tarkibidagi   mavjud   elementlari   sonini
aniqlaydi. 
    Satr   tarkibidagi   elementlarga   ajratilgan   sonini   nol   terminatori   bilan
aniqlash   uchun   sizeof(s)   funksiyasidan   foydaliniladi.   Sizeof(s)   funksiyasi   s   satr
uchun ajratilgan elementlar sonini aniqlaydi, s satrni 10 ta elementga moslab e‘lon
qilib lekin 5 ta element kiritilsa ham sizeof funksiyasi 10 qiymatni qaytaradi. Satr
tarkibidagi   elementlarga   ajratilgan   sonini   nol   terminatori   bilan   aniqlash
funksiyasining umumiy ko’rinishi quyidagicha bo’ladi. 
sizeof(<satrli o‘zgaruvchi>); 
 
Sizeof   funksiyasi   o’z   tarkibiga   satrli   o’zgaruvchi   yoki   satr   uzini   qabul
qilishi mumkin. Masalan  strlen (―absd )  bo’lsa  uning natijasi  5 ga teng bo’ladi.‖
Misol:  Berilgan satr tarkibidagi elementlar sonini aniqlang. 
   #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { char s[10];       
cin.getline(s,10);         
x=sizeof(s);        cout<<x;
      return 0;                                
}                                                  
Kiritish ma‘lumotlari   
Salom  Dastur natijasi 
10 
Demak   sizeof(s)   funksiyasi   s   satrni   tarkibidagi   mavjud   elementlari   sonini
emas   balki   unga   ajratilgan   qiymatni   aniqlaydi.   Agar   sizeof   funksiyasi   tarkibida
o’zgaruvchi   emas   satr   uzini   kiritsa   unda   sizeof   funksiyasi   tarkibidagi
Shomurodov Sunnat 225 guruh
  elementlardan   bitta   ko’p   qiymatni   qaytaradi   chunki   nol   terminatorini   ham
qo’shadi. Quyidagi dasturga e‘tibor bering. 
   #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { cout<<sizeof("dastur");  
      return 0;                                
}                                                  
Dastur natijasi 
6 
Misol:  Berilgan s satr tarkibidan p element necha marta ishtirok etganligini
aniqlang. 
 
   #include <iostream.h>   
#include <string.h> using 
namespace std;      
  int main()                                  
  { int x,n=0;   
char s[100]; 
  cin.getline(s,10);  //s satrni kiritish   
char p; 
    cin>>p;              //p belgini 
kiritish          x=strlen(s);      for(int 
i=0;i<=x-1;i++)        if(s[i]==p) n+
+;        cout<<n;             return 0; 
   }                                                  
Kiritish 
ma‘lumotlari   
s=assalom  p=a  Dastur natijasi 
2 
Satrlarni   ixtiyoriy   elementiga   murojat   qilish   uchun   doimo   bitta   kam   qilib
buyruq berish kerak chunki  satrlar  belgili massiv  bo’lganligi  uchun boshlang‘ich
element nolinchi o’rindan boshlanadi. 
Satrlarni nusxalash 
C++   dasturlash   tilida   satrlarni   bir   biriga   nusxalashni   bir   qancha   usullari
mavjud.   Satrlarni   nusxalash   uchun   strcpy()   funksiyasidan   foydalanish   mumkin,
strcpy()   funksiyasining   umumiy   ko’rinishi   quyidagicha   bo’ladi.   strcpy(satr1,
satr2); 
Shomurodov Sunnat 225 guruh strcpy(satr1,   satr2)   funksiyasi   satr2   dagi   elementlarni   to’laligicha   satr1   ga
nusxalaydi. Satr1 ni elementlar soni doimo satr2 elementlar sonidan katta bo’lishi
kerak. 
Misol:  Berilgan s satr elementlarini p satrga nusxalang. 
 
   #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { char s[100];   
cin.getline(s,10);   
char p[10];     
strcpy(p,s);      
cout<<p; 
        return 0; 
   }                                                  
Kiritish ma‘lumotlari   
s=dastur  Dastur natijasi 
dastur 
 
Satrlarni   nusxalash   uchun   strncpy()   funksiyasidan   foydalanish   mumkin,
strncpy()   funksiyasining   umumiy   ko’rinishi   quyidagicha   bo’ladi.   strncpy(satr1,
satr2,n); 
strncpy(satr1,   satr2,n)   funksiyasi   satr2   dagi   elementlarni   n   tasini   satr1   ni
boshiga     nusxalaydi.   Strncpy()   funksiyasini   strcpy()   funksiyasidan   farqi   satr2   ni
nta elementini satr1 ni boshiga nusxalaydi. 
Misol:  Berilgan s satrni 3 ta elementini p satrga nusxalang. 
 
   #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { char s[100];   
cin.getline(s,10);   
char p[10];    
cin.getline(p,10);  
strncpy(p,s,3);      
cout<<p;         
return 0; 
   }                                                  
Kiritish 
ma‘lumotlari    Dastur natijasi 
algtur 
Shomurodov Sunnat 225 guruh
  s=algoritm p=dastur 
 
Satrlarni ulash 
Bir nechta satrlarni ulash natijasida yangi satrlarni hosil qilish mumkin. C++
dasturlash   tili   tarkibida   satrlarni   bir   biriga   ulashni   bir   nechta   usullari   mavjud,
satrlarni bir biriga ulab yangi satrlar hosil qilinadi. 
C++ dasturlash tilida strcat() funksiyasi yordamida satrlarni bir biriga ulash 
imkoniyati mavjud, strcat() funksiyasining umumiy ko’rinishi quyidagicha 
ko’rinishda bo’ladi.  strcat(satr1, satr2); 
C++   dasturlash   tilida   strcat(satr1,   satr2)   funksiyasi   satr2   ni   satr1ni   oxiriga
ulaydi. 
Misol:  Berilgan s satrni p satrga birlashtiring. 
 
#include <iostream.h>      
#include <string.h> 
using namespace std;      
int main()                           
{ char s[100];   
cin.getline(s,10);   char 
p[10]; 
cin.getline(p,10);     
strcat(p,s,3);      
cout<<p; 
        return 0; 
   }                                                  
Kiritish ma‘lumotlari 
 s=ali 
p=vali  Dastur natijasi 
valiali 
 
C++ dasturlash tilida strncat() funksiyasi yordamida satrlarni bir biriga faqat
n ta elementini ulash imkoniyati mavjud, strncat() funksiyasining umumiy 
ko’rinishi quyidagicha ko’rinishda bo’ladi.  strncat(satr1, satr2,n); 
C++   dasturlash   tilida   strncat(satr1,   satr2,   n)   funksiyasi   satr2   ni   n   ta
boshlang‘ich elementlarini satr1ni oxiriga ulaydi. 
Misol:  Berilgan s satrni boshidagi 3 ta elementini p satr oxiriga 
birlashtiring. 
 
Shomurodov Sunnat 225 guruh    #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { char s[100];   
cin.getline(s,10);   
char p[10];    
cin.getline(p,10);     
strncat(p,s,3);      
cout<<p; 
        return 0; 
   }                                                  
Kiritish 
ma‘lumotlari   
s=algoritm p=dastur  Dastur natijasi 
dasturalg 
 
Satrlarni teskari tartiblash 
Satrlarni   teskari   tartiblash   uchun   C++   dasturlash   tilidan   tashqari   boshqa
dasturlash tillarida takrorlanish jarayonlari orqali bajariladi. C++ dasturlash tilida
satrlarni teskari tartiblash uchun strrev() funksiyasi yordamida bajarish mumkin. 
Strrev() funksiyasining umumiy ko’rinishi quyidagicha 
bo’ladi.  strrev(<satrO‘zgaruvchisi>);  Strrev(s) funksiyasi s 
satrni teskari tartibda jaoylashtiradi.  Misol:  Berilgan s satrni 
teskari tartiblang. 
 
   #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { char s[100];   
cin.getline(s,10);            
cout<<strrev(s); 
           return 0; 
   }                                                  
Kiritish ma‘lumotlari   
s=algoritm  Dastur natijasi 
mtirogla 
Satrdan belgini izlash 
Satr tarkibidan birorta belgini qidirish uchun C++ dasturlash tilining string.h
kutubxonasi  ichidan  strchr()  funksiyasidan  foydalanish  kerak. 
Strchr() funksiyasining umumiy ko’rinishi quyidagicha bo’ladi.  strchr(<s,p>); 
Shomurodov Sunnat 225 guruh
  Strchr(s)   funksiyasi   s   satr   ichida   p   belgini   izlaydi   agar   topilsa   shu
elementdan keyingi qismni aks holda nullni qaytaradi. 
Misol:  Berilgan s satrdan p belgini qidiring. 
 
   #include <iostream.h> 
#include <string.h> 
  using namespace std;      
  int main()                                  
  { char s[100];   
cin.getline(s,10);   char 
p; cin>>p;            
cout<<strchr(s,p); 
           return 0; 
   }                                                  
Kiritish 
ma‘lumotlari   
s=algoritm p=t  Dastur natijasi 
Tm 
 
Satr ichidan satr qismini izlash 
Satr   tarkibidan   birorta   qism   satrni   qidirish   uchun   C++   dasturlash   tilining
string.h   kutubxonasi   ichidan   strstr()   funksiyasidan   foydalanish   kerak.   Strstr()
funksiyasining umumiy ko’rinishi quyidagicha bo’ladi.  strstr(<s,p>); 
Strstr(s) funksiyasi s satr ichida p qism satrni izlaydi agar topilsa shu satrdan
keyingi qismni aks holda nullni qaytaradi. 
Misol:  Berilgan s satrdan p satrni qidiring. 
   #include <iostream.h> 
Shomurodov Sunnat 225 guruh 3.Satr uzunligini aniqlash funksiyalari va ularning umumiy ko’rinishi? 
4.Satrlarni nusxalash funksiyasi va uning umumiy ko’rinishi? 
5.Satrlarni ulash funksiyasi va uning umumiy ko’rinishi? 
6.Satrlarni teskari tartiblash funksiyasi va uning umumiy ko’rinishi? 
7.Satr tarkibidan belgini izlash funksiyasi va uning umumiy ko’rinishi? 
8.Satr ichidan satr qismini izlash funksiyasi va uning umumiy ko’rinishi? 
 
Mustaqil ishlash uchun topshiriqlar 
1. Nuqta bilan tugaydigan  satr berilgan. Satrda nechta so’z borligini 
hisoblab chiqing. 
2. Ingliz matnidan iborat satr berilgan. b harfi bilan boshlanuvchi so’z 
nechtaligini toping. 
3. Satr berilgan. Unda r, k, t harflari qanchaligini hisoblab chiqing. 
4. Satr berilgan. Unda *(yulduzcha), ;(nuqta vergul), :(ikki nuqta) 
belgilari qanchaligini hisoblab chiqing. 
5. Matndan iborat satr berilgan. Eng qisqa va eng uzun so’z 
uzunliklarini toping. 
6. Orasida ikki nuqtasi bo’lgan belgili satr berilgan. Ungacha bo’lgan 
belgilar qanchaligini aniqlang. 
7. Nuqta bilan tugaydigan, matndan tashkil topgan satr berilgan. Uchta 
harfdan iborat so’zni ekranga chiqaring. 
8. Berilgan satrdagi barcha na qismiy satrni nad qismiy satr bilan 
almashtirng. 
Shomurodov Sunnat 225 guruh
  #include <string.h> 
   using namespace std;      
   int main()                                  
   { char s[100]; 
   cin.getline(s,100); 
   char p[100]; 
    cin.getline(p,100); 
            cout<<strstr(s,p); 
            return 0; 
     }                                                  
Kiritish ma‘lumotlari  
  s=aliakbar 
p=ak  Dastur natijasi 
akbar 
N a z a riy savolla r  
 
1 .Belgi va satrlar deganda nimani tu s h u nasiz? 
2 .Satrlarni kiritish operatori va uning vazifasi?  9. Satr berilgan. Unda abc qismiy satr necha marta uchrashini 
aniqlang. 
10. Satr berilgan. Uning oxirgi so’zidagi k harfi mig’dorini hisoblab 
chiqing. 
Shomurodov Sunnat 225 guruh

REJA 1. Belgi va satrlar; 2. Satr uzunligini aniqlash; 3. Satrlarni nusxalash; 4. Satrlarni ulash; 5. Satrlarni teskari tartiblash; 6. Satrdan belgini izlash; 7. Satr ichidan satr qismini izlash. KIRISH Shomurodov Sunnat 225 guruh

C++ dasturlash tilida satr turi va ulardan foydalanish usullari va tamoyillarini qarab o’tamiz. Satr turi bu belgilardan tashkil topgan ma‘lumotlar majmuasi hisoblanadi. Satrlarning uzunligini aniqlash, satrlarni nusxalash, satrlarni kerakli joyga o’rnatish kabi amallarni bajarish uchun C++dasturlash tilida keng imkoniyati mavjud. C++ dasturlash tilida satrlar ham boshqa turlar kabi oldin dastur tarkibida e‘lon qilinishi kerak. Satrlar e‘lon qilingandan keyin ular ustida amallar bajarish mumkin. Belgi va satrlar C++ dasturlash tilida bir nechta turlardan foydalanish va ular ustida amallar bajarish mimkin, dasturlash muhitida boshqa turlar kabi belgili turlar ham mavjud. C++ dasturlash tilida belgili turlar char turiga mansub bo’lgan yagona elementli tur hisoblanadi. C++ dasturlash tilida satrlar uchun alohida maxsus turlar ishlab chiqilmagan satrlarni belgilar massivi sifatida ishlatish imkoniyati mavjud. Ta‘rif: Alohida nom bilan saqlanuvchi bir nechta belgilardan tashkil topgan belgilar majmuasi satr deyiladi. Satrlarni belgilar massivi sifatida qarab ular ustida amallar bajarish mumkin. C++ dasturlash tilida satrlar nol(‘\0‘) terminatori bilan tugaydi. Nol terminatori bilan tugaydigan satrlar ASCIIZ –satrlari deyiladi. Satrlardan foydalanish va ular ustida amallar bajarish uchun albatta oldin ularni e‘lon qilish kerak. Satr turiga mansub bo’lgan o’zgaruvchilarni char xizmatchi so’zi orqali e‘lon qilinadi. Satrlarni e‘lon qilish uchun quyidagi dasturlarga etibor bering. #include <iostream.h> #include <string.h> using namespace std; int main() { char s[10]; // s satrli o’zgaruvchini e‘lon qilish return 0; } Yuqoridagi dastur tarkibida s[10] satr o’zgaruvchisi 9 ta elementga va bitta nol terminatoriga mo’ljallangan. Satrlarni boshlang‘ich qiymatlarini berish jarayonida uning elementlar sonini berish shart emas. Agar satrlarni elementlar soni berilmasa dastur avtomatik ravishda uning elementlar soniga boshlang‘ich qiymatdagi elementlar sonidan bitta ortiq qilib ta‘minlaydi, chunki oxiriga bitta nol terminatorini hisobga oladi. Doim satrlarni kiritishda uning elementlar soni e‘lon qilinganidan oshib ketmasligi kerak aks holda faqat e‘lon qilingan elementlar soniga teng elementlarni saqlab qolinib qolganlari olinmaydi. Satrlarni kiritish jarayonida >> oqim bo’yicha kiritishdan foydalanmasdan getline() funksiyasidan foydalanish maqsadga muvofiq bo’ladi. Agar oqim Shomurodov Sunnat 225 guruh

bo’yicha kiritishdan foydalanilsa unda probellar inkor qilinib satrni ikkinchi qismlari qabul qilinmaydi. getline(s,n) funksiyasi ikkita parametrni o’z ichiga oladi, birinchisi s satr o’zgaruvchisi ikkinchisi n satr elementlar soni. Getline funksiyasi satr elementlaridan ortiq qiymatlarni ham kiritish imkoniyatini yaratadi, natijada satr elementlari ortadi. Kiritish jarayonini amalga oshirish uchun quyidagi dasturlarga etibor bering. Misol: Berilgan satrni ekranga chiqaring. #include <iostream.h> #include <string.h> using namespace std; int main() { char s[10]; // s satrli o’zgaruvchini e‘lon qilish cin.getline(s,10); cout<<s; return 0; } Kiritish ma‘lumotlari Absdefghl Dastur natijasi Absdefghl Yuqoridagi dastur tarkibidagi s satrli o’zgaruvchi faqat 9 ta elementni qbul qiladi, agar 9 tadan ortiq bo’lsa natija qaytarmaydi. Satr uzunligini aniqlash Satrlar ustida amallar bajarish vaqtida albatta satrlarning uzunligi kerak bo’ladi. Satr uzunligini aniqlash uchun string.h kutubhonasiga murojat qilish kerak aksariyat satr uchun ishlatiladigan funksiyalarni string.h kutubhonasiga murojat qilib ishlatishimiz mumkin. Satr uzunligini aniqlashni ikki hil usuli mavjud. -satr tarkibidagi mavjud elementlar sonini nol terminatorisiz aniqlash; -satr tarkibidagi elementlarga ajratilgan sonini nol terminatori bilan aniqlash; Satr tarkibidagi mavjud elementlar sonini nol terminatorisiz aniqlash funksiyasining umumiy ko’rinishi quyidagicha bo’ladi. strlen(<satrli o‘zgaruvchi>); Strlen funksiyasi o’z tarkibiga satrli o’zgaruvchi yoki satr uzini qabul qilishi mumkin. Masalan strlen (―absd ) bo’lsa uning natijasi 4 ga teng bo’ladi. ‖ Misol: Berilgan satr tarkibidagi elementlar sonini aniqlang.. Shomurodov Sunnat 225 guruh

#include <iostream.h> #include <string.h> using namespace std; int main() { char s[10]; cin.getline(s,10); x=strlen(s); cout<<x; return 0; } Kiritish ma‘lumotlari Dastur Dastur natijasi 6 Demak strlen(s) funksiyasi s satrni tarkibidagi mavjud elementlari sonini aniqlaydi. Satr tarkibidagi elementlarga ajratilgan sonini nol terminatori bilan aniqlash uchun sizeof(s) funksiyasidan foydaliniladi. Sizeof(s) funksiyasi s satr uchun ajratilgan elementlar sonini aniqlaydi, s satrni 10 ta elementga moslab e‘lon qilib lekin 5 ta element kiritilsa ham sizeof funksiyasi 10 qiymatni qaytaradi. Satr tarkibidagi elementlarga ajratilgan sonini nol terminatori bilan aniqlash funksiyasining umumiy ko’rinishi quyidagicha bo’ladi. sizeof(<satrli o‘zgaruvchi>); Sizeof funksiyasi o’z tarkibiga satrli o’zgaruvchi yoki satr uzini qabul qilishi mumkin. Masalan strlen (―absd ) bo’lsa uning natijasi 5 ga teng bo’ladi.‖ Misol: Berilgan satr tarkibidagi elementlar sonini aniqlang. #include <iostream.h> #include <string.h> using namespace std; int main() { char s[10]; cin.getline(s,10); x=sizeof(s); cout<<x; return 0; } Kiritish ma‘lumotlari Salom Dastur natijasi 10 Demak sizeof(s) funksiyasi s satrni tarkibidagi mavjud elementlari sonini emas balki unga ajratilgan qiymatni aniqlaydi. Agar sizeof funksiyasi tarkibida o’zgaruvchi emas satr uzini kiritsa unda sizeof funksiyasi tarkibidagi Shomurodov Sunnat 225 guruh

elementlardan bitta ko’p qiymatni qaytaradi chunki nol terminatorini ham qo’shadi. Quyidagi dasturga e‘tibor bering. #include <iostream.h> #include <string.h> using namespace std; int main() { cout<<sizeof("dastur"); return 0; } Dastur natijasi 6 Misol: Berilgan s satr tarkibidan p element necha marta ishtirok etganligini aniqlang. #include <iostream.h> #include <string.h> using namespace std; int main() { int x,n=0; char s[100]; cin.getline(s,10); //s satrni kiritish char p; cin>>p; //p belgini kiritish x=strlen(s); for(int i=0;i<=x-1;i++) if(s[i]==p) n+ +; cout<<n; return 0; } Kiritish ma‘lumotlari s=assalom p=a Dastur natijasi 2 Satrlarni ixtiyoriy elementiga murojat qilish uchun doimo bitta kam qilib buyruq berish kerak chunki satrlar belgili massiv bo’lganligi uchun boshlang‘ich element nolinchi o’rindan boshlanadi. Satrlarni nusxalash C++ dasturlash tilida satrlarni bir biriga nusxalashni bir qancha usullari mavjud. Satrlarni nusxalash uchun strcpy() funksiyasidan foydalanish mumkin, strcpy() funksiyasining umumiy ko’rinishi quyidagicha bo’ladi. strcpy(satr1, satr2); Shomurodov Sunnat 225 guruh