O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti


Satrlarni solishtirish funksiyalari



Yüklə 0,69 Mb.
səhifə132/157
tarix19.12.2023
ölçüsü0,69 Mb.
#152373
1   ...   128   129   130   131   132   133   134   135   ...   157
S. Eshtemirov, F. M. Nazarov algoritmlash va dasturlash asoslari-hozir.org

Satrlarni solishtirish funksiyalari 
Satrlarni solishtirish funksiyalari satrdagi belgilarning kodlari bo‗yicha
solishtiradi. Shuning uchun dastlab klavituradagi ko‗p foydalaniladigan
belgilarning kodlarini aniqlash dasturini va uning natijasini keltiramiz.
#include
#include
using namespace std;



219


int main()
{ int x,y,z,n,m,t,i;
char
a[40]="ABCDEFGHIJKLMNOPQRSTUVWXYZ",b[30]="abcdefghijklmnopq
rstuvwxyz";
char c[40]="0123456789 !@#$%&*()+-=;,?^<>\/,.:";
for(i=0;i<=32;i++) {x=(int)a[i];y=(int)b[i];z=(int)c[i];
if(i<=25){cout<<" "return 0;
}
Dastur natijasi quyidagicha bo‗ladi
ning kodi=65 ning kodi=97 0 ning kodi=48 ning kodi=94
ning kodi=66 ning kodi=98 1 ning kodi=49 <ning kodi=60
ning kodi=67 ning kodi=99 2 ning kodi=50 >ning kodi=62
ning kodi=68 ning kodi=100 3 ning kodi=51 ning kodi=47
ning kodi=69 ning kodi=101 4 ning kodi=52 ning kodi=44
F ning kodi=70 f ning kodi=102 5 ning kodi=53 ning kodi=46
ning kodi=71 ning kodi=103 6 ning kodi=54 ning kodi=58
ning kodi=72 ning kodi=104 7 ning kodi=55
ning kodi=73 ning kodi=105 8 ning kodi=56
ning kodi=74 ning kodi=106 9 ning kodi=57
ning kodi=75 ning kodi=107 probel ning kodi=32
ning kodi=76 ning kodi=108 ! ning kodi=33
ning kodi=77 ning kodi=109 @ ning kodi=64
N ning kodi=78 n ning kodi=110 # ning kodi=35
O ning kodi=79 o ning kodi=111 $ ning kodi=36
P ning kodi=80 p ning kodi=112 % ning kodi=37
Q ning kodi=81 q ning kodi=113 & ning kodi=38
R ning kodi=82 r ning kodi=114 * ning kodi=42
S ning kodi=83 s ning kodi=115 ( ning kodi=40
T ning kodi=84 t ning kodi=116 ) ning kodi=41
U ning kodi=85 u ning kodi=117 + ning kodi=43
V ning kodi=86 v ning kodi=118 - ning kodi=45



220


W ning kodi=87 w ning kodi=119 = ning kodi=61
X ning kodi=88 x ning kodi=120 ; ning kodi=59
Y ning kodi=89 y ning kodi=121 , ning kodi=44
Z ning kodi=90 z ning kodi=122 ? ning kodi=63

Satrlarni solishtirishda compare funksiyasining quyidagi bir nechta


ko‗rinishlaridan foydalaniladi.
a)s=satr1.compare (satr2); 
Bunda satr1va satr2 lar solishtiriladi. Agar
satr1> satr2 bo„lsa s>0 
satr1= satr2 bo„lsa s=0 
satr1
bo‗ladi. Satrlarni solishtirishda, ularning mos nomerlaridagi belgilarining
ASCII kodlari solishtirilib ketilaveradi. Qaysidir nomerli belgilari bir-biridan farq
qilsa va ulardan qaysi birining kodi katta bo‗lsa, o‗sha satr katta hisoblanadi.
b) s=satr1.compare (n,m,satr2); ko‗rinishidan foydalanilganda satr1 ning n-
nomeridan keyingi m ta belgilari ketma-ketligi satr2 bilan solishtiriladi.
c) s=satr1.compare (n,m,satr2,i,j); ko‗rinishidan foydalanilganda satr1 ning
n-belgisidan keyingi m ta belgilari ketma-ketligi satr2 ning i-belgisidan keyingi j
ta belgilari ketma-ketligi bilan solishtiriladi.
Solishtirish funksiyasining imkoniyatlarini quyidagi dastur misolida namoyish
qilamiz.
#include
#include
using namespace std;
int main()
{ int x,y,z,n,m,t,s5,s6,s7,s8;
string s1="daraja ko‗rsatkichida",s2="ABCDEF",s3="ABCD";
string s4="daraja ko‗rsat",s9="ab",s10="aa3-";
s5=s2.compare(s3); cout<<"s5="< s6=s2.compare(s1); cout<<" s6="< s8=s9.compare(s10); cout<<" s8="< s7=s1.compare(s4); cout<<" s7="< x=s1.compare(0,14,s4); cout<<" x="< y=s2.compare(0,5,s3); cout<<" y="< z=s1.compare(1,4,s4,1,4); cout<<" z="<



221


n=s1.compare(3,4,s4,2,4); cout<<" n="< m=s1.compare(3,5,s4,3,4); cout<<" m="< system("pause");
return 0;
}
Dastur natijasi quyidagicha bo‗ladi
s5=2 s6=-1 s8=1 s7=7
x=0 y=1 z=0 n=-1 m=1
Satr xossalarini aniqlash funksiyalari 
Satrning xossalarini aniqlash uchun quyidagi funksiyalardan foydalaniladi.
x=satr.size(); funksiyasi satr ning o‗lchamini aniqlaydi.
x=satr.length(); funksiyasi satr ning belgilari sonini aniqlaydi.
x=satr.max_size(); funksiyasi satr ning maksimal o‗lchamini aniqlaydi.
x=satr.capacity(); funksiyasi satr ning xotirada egallagan joyi hajmini
aniqlaydi.
x=satr.empty(); funksiyasi qiymati bool turli bo‗lib, agar satr bo‗sh bo‗lsa,
funksiya qiymati true, aks holda false bo‗ladi. Quyidagi dasturni va uning
natijalarini tahlil qling.
#include
#include
using namespace std;
int main()
{ int z,n,m,t,s6,s7,s8;bool x,y;float s5;
string s1="daraja ko‗rsatkichida",s2="ABCDEF",s3="ABCD";
string s4="daraja ko‗rsat",s9="ab87,/+|",s10="";
s5=s9.size(); cout<<"s5="< s6=s9.length(); cout<<" s6="< s8=s10.max_size(); cout<<" s8="< s7=s9.capacity(); cout<<" s7="< x=s9.empty(); cout<<" x="< y=s10.empty(); cout<<" y="< system("pause");
return 0;
}
Dastur natijasi quyidagicha bo‗ladi
s5=8 s6=8 s8=1073741820 s7=8
x=0 y=1



222


Nazariy savollar 
1.String turi deganda nimani tushunasiz? 
2.String turidagi o‗zgaruvchilarni e‘lon qilish
3.String turidagi o‗zgaruvchilarni elementlariga murojat qilishni tushuntirib 
bering? 
4.String turdagi satrlar ustida qanday amallar bajariladi va ularning yozilishi? 
5.String turdagi satrlarni nusxalash funksiyasi va uning umumiy ko‗rinishi? 
6.Satrning qismiga boshqa satrni o‗rnatish funksiyasi va uning umumiy ko‗rinishi? 
7.Satr qismini o‗chirish funksiyasi va uning umumiy ko‗rinishi? 
8.Satr tarkibidan satr qismini izlash funksiyasi va uning umumiy ko‗rinishi? 
9.string turli o‗zgaruvchilar bilan satrli massivlar o‗rtasida nima farq bor? 
10. string turli matnlarni qayta ishlashga mo‗ljallangan qanday funksiyalarini 
bilasiz? Ularni tushuntiring. 
11. 1) ―gdf3546^.,;‖, 2) ―9876543 %$#@!‖ satrlar uzunligini aniqlang.
12. Satrning o‗zini yoki uning biror qismini o‗chirish funksiyasi qaysi va u qanday 
bajariladi? 
13. Satrni songa va sonni satrga aylantirish funksiyalarini yozib, tushuntiring. 

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. 
9. Satr berilgan. Unda abc qismiy satr necha marta uchrashini aniqlang. 



223


10. Satr berilgan. Uning oxirgi so‗zidagi k harfi mig‗dorini hisoblab 
chiqing. 
11. Satr berilgan. Unda har xil belgilar necha marta uchrashini hisoblab 
chiqing. Ularni ekranga chiqaring. 
12. Satr berilgan. Berilgan ikkita gapdagi o‗chraydigan bir xil so‗zni chop 
eting. 
13. Orasida bitta ochilgan qavs va bitta yopilgan qavs mavjud bo‗lgan 
belgili satr berilgan. Bu qavslar orasidagi barcha belgilarni ekranga chiqaring. 
14. Lotin harflari va raqamlardan tashkil topgan satr mavjud. … 
15. Ikki nuqta bilan tugovchi va nuqta vergul bilan ajarilgan so‗zlar 
to‗plami berilgan. a harfi bilan tugovchi so‗zlar qanchaligini aniqlang. 
16. Satr berilgan. Tarkibida kamida bitta k harfi bo‗lgan so‗zni ko‗rsating. 
17. Satr berilgan. Boshlanishi va tugashi bir xil harfdan iborat so‗zni 
toping. 
18. Satrdagi barcha ikki nuqtalarni nuqta vergul bilan almashtiring. 
Almashishlar mig‗dorini hisoblang. 
19. Satrdagi ikki nuqta belgilarini o‗chiring va o‗chirilgan belgilar 
mig‗dorini hisoblang. 
20. Satrdagi so‗zlar orasidagi bO‗sh joy o‗rniga vergul va bO‗sh joyni 
qo‗ying. 
21. Qavsga olingan belgili satr qismini o‗chiring (qavslar bilan birgalikda). 
22. Berilgan so‗z satrda necha marta uchrashini aniqlang. 
23. Satrda bitta nuqtali vergul mavjud. Nuqtali vergulgacha bo‗lgan va 
undan keyingi belgilar mig‗dorini hisoblang. 
24. Satr berilgan. Birinchi n/2 belgilar orasida uchraydigan barcha ikki 
nuqtalarni nuqta bilan almashtiring va n/2 dan keyingi belgilar orasida 
uchraydigan barcha undov belgilarni nuqta almashtirib uni o‗zgartiring. 
25. Satr bitta so‗zdan tashkil topgan. Uni chapdan o‗ngga va o‗ngdan 
chapga qarab o‗qiganda bir xil bo‗lishini (ya‘ni u polindrom hisoblanishini) 
tekshiring. 
26. Qo‗lyozmadagi so‗zlarning har biri teskarisiga yozilib shifrlangan. 
Xabarni oching (rasshifrovka qiling).
27. Berilgan satrda ochilgan qavslar soni yopilgan qavslar soni bilan bir 
hilligini tekshiring. 
28. 200 belgidan oshib ketmaydigan ixtiyoriy ruscha matndan tashkil topgan 
satr berilgan. Bu matnda qaysi belgi necha marta uchrashini yozing. Javob 



224


grammatik jihatdan to‗g‗ri bo‗lishi kerak, masalan «a – 25 marta», «k – 3 marta» 
va h.k. 
29. Ingliz so‗zlardan iborat berilgan massivni alfavit bo‗yicha tartiblang. 
30. Ikkita A va B satrlar berilgan. A satrdagi harflardan B satrni tuzish 
mumkinligini (harflarni o‗rnini almashtirib ishlatish mumkin, lekin ularni bir 
martadan ortiq ishlatish mumkin emas) tekshiradigan dastur tuzing. Masalan, 
A:INTEGRAL, B:AGENT – tuzish mumkin; B:AGENT – tuzish mumkin emas. 


Yüklə 0,69 Mb.

Dostları ilə paylaş:
1   ...   128   129   130   131   132   133   134   135   ...   157




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə