Mavzu: satrlar va kengaytirilgan belgilar reja: Satrlar bilan ishlash


Download 344.05 Kb.
Pdf ko'rish
bet9/9
Sana21.11.2023
Hajmi344.05 Kb.
#1791155
1   2   3   4   5   6   7   8   9
Bog'liq
D3jNtqpKkbMJiF17hlss5D9NSnJiYH5qTQ2zFf9k

#include  
int main() {
 String s1=”01234567893456ab2csef”, s2=”456”, 
s3=”ghk”; 
 cout<<“s1=”<
 cout<<“s2=”<


 cout<<“s3=”<
 if(s2.compare(s3)>0)cout<<“s2>s3”<
 if(s2.compare(s3)==0)cout<<“s2=s3”<
 if(s2.compare(s3)<0)cout<<“s2
 if(s1.compare(4,6,s2)>0)cout<<“s1[4-9]>s2”<
 if(s1.compare(5,2,s2,1,2)==0) 
cout<<“s1[5-6]=s2[1-2]”<
 } 
Masala. Familiya, ismi va shariflari bilan talabalar ro‘yxati berilgan. 
Ro‘yxat alfavit bo‘yicha tartiblansin.
Programma matni: 
#include  
#include  
int main(int argc, char* argv[]){ 
 const int FISh_uzunligi=50; 
 string * Talaba; 
 char * Satr=(char*)malloc(FISh_uzunligi); 
 unsigned int talabalar_soni; 
 char son[3]; 
 do { 
cout<<"Talabalar sonini kiriting: "; 
cin>>son; } 
while((talabalar_soni=atoi(son))<=0); 
 Talaba =new string[talabalar_soni]; 


 cin.ignore(); 
 for(int i=0; i
cout<
cin.getline(Satr,50); 
Talaba[i].assign(Satr); } 
 bool almashdi=true; 
 for(int i=0; i
almashdi=false; 
for(int j=i; j
if(Talaba[j].compare(Talaba[j+1])>0) { 
almashdi=true; 
strcpy(Satr,Talaba[j].data()); 
Talaba[j].assign(Talaba[j+1]); 
Talaba[j+1].assign(Satr); } } 
 cout<<"Alfavit bo'yicha tartiblangan ro'yxat:\n"; 
 for(int i=0; i
cout<
 delete [] Talaba; free(Satr); return 0; } 
Programmada talabalar ro‘yxati string turidagi Talaba dinamik massiv 
ko‘rinishida e’lon qilingan va uning o‘lchami foydalanuvchi tomonidan kiritilgan 
talabar_soni bilan aniqlanadi. Talabalar sonini kiritishda nazorat qilinadi: 
klaviaturadan satr o‘qiladi va u atoi() funksiyasi yordamida songa aylantiriladi. 
Agar hosil bo‘lgan son noldan katta son bo‘lmasa, sonni kiritish jarayoni 
takrorlanadi. Talabalar soni aniq bo‘lgandan keyin har bir talabaning familiya, ismi 
va sharifi bitta satr sifatida oqimdan o‘qiladi. Keyin, string turida aniqlangan
compare() funksiyasi yordamida massivdagi satr-lar o‘zaro solishtiriladi va mos 


o‘rindagi belgilar kodlarini o‘sishi bo‘yicha «pufakchali saralash» orqali 
tartiblanadi. Programma oxirida hosil bo‘lgan massiv chop etiladi, hamda dinamik 
massivlar yo‘qotiladi.
Satr xossalarini aniqlash funksiyalari
string sinfida satr uzunligi, uning bo‘shligini yoki egallagan xotira hajmini 
aniqlaydigan funksiyalar bor: 
unsigned int size()const; // satr o‘lchami 
unsigned int length()const; // satr elementlar soni 
unsigned int max_size()const; // satrning maksimal 
uzunligi(4294967295) 
unsigned int capacity()const;// satr egallagan xotira hajmi 
bool empty()const; // true, agar satr bo‘sh bo‘lsa 
Nazorat savollari 
 
1. C++ dasturida nechta funksiya bo’ladi? 
2. Kutubxonalr nima? 
3. String turi qaysi kutubxonada joylashgan? 
4. String turi bilovchi qanday funksiyalarni bilasiz? 
5. Nomlangan nomalar sohasi nima? 
6. O’zgaruvchilar nima uchun qo’llaniladi? 
7. Qanday o’zgaruvchi turlari bor? 
8. O’zgaruvchilar qanday qiymatlar qabul qiladi? 
9. Kiritish operatori qanday ishlaydi? 

Download 344.05 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




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