Satrlarni solishtirish (taqqoslash) funksiyalari




Download 2,67 Mb.
Pdf ko'rish
bet125/164
Sana25.01.2024
Hajmi2,67 Mb.
#146073
1   ...   121   122   123   124   125   126   127   128   ...   164
Bog'liq
ALGORITMLASH VA DASTURLASH ASOSLARI

Satrlarni solishtirish (taqqoslash) funksiyalari 
C++ da satrlarni solishtirish uchun quyidagi funksiyalardan foydalaniladi.
1. Strcmp (satr1, satr2) funksiyasi. Bu funksiya satr1 satrining har bir 
belgisi satr2 satrining mos nomerlaridagi belgilarining EXM xotirasidagi 
kodlarni solishtiradi. 
Eslatma: Lotin alifbesining kichik harflari kodi katta harflari kodidan 32 ga 
ortiq qilib kodlangan va solishtirish natijasi qandaydir n butun soniga qiymat 
sifatida berilishi kerak. Masalan, n=strcmp (s1.s2) 
Agar
s1>s2bo„lsa n>0 
s1=s2bo„lsa n=0
s1bo‗ladi 
n ning qiymati birinchi farq qiluvchi belgilar kodlarini solishtirish bilan 
aniqlanadi. 
#include  
#include  
using namespace std; 
int main() 

int j,i,s,n,m; char k1[20]="",k2[20]="";
char satr1[60]="Programmalash ";char *kor1=satr1; 
char satr2[60]="prograMMalash ";char *kor2=satr2; 
m=strcmp(kor1,kor2); cout<<" m="<n=strcmp(kor2,kor1); cout<<" n="<system("pause"); 
return 0; 

 
satr1 va satr2 larning birinchi belgilari P va plarning kodlari farq qilayapti. 
Shuning uchun dastur natijasi m=-1; n=1 kabi bo‗lmoqda. 
2. Agar satrlarni solishtirishda harflarning registrlarini (ya‘ni katta yoki 
kichikligini) farqlash kerak bo‗lmasa, u holda strcmpi (satr1, satr2) 
funksiyasidan foydalaniladi. Bu hol quyidagi dasturda o‗z aksini topgan. 
#include  


201 
#include  
using namespace std; 
int main() 

int j,i,s,n,m;
char satr1[60]="Programmalash ";char *kor1=satr1; 
char satr2[60]="prograMMalash ";char *kor2=satr2; 
char satr3[60]="pragraMMalash ";char *kor3=satr3; 
m=strcmpi(kor1,kor2); cout<<" m="<n=strcmpi(kor2,kor3); cout<<" n="<system("pause"); 
return 0; 

Dastur natijasi m=0, n=1 kabi bo‗lishini tushunish qiyin emas. 
3. Agar ikkita satrning faqat dastlabki n ta belgilarini solishtirish talab etilgan 
bo‗lsa, strncmp(satr1, satr2,n) funksiyasidan foydalaniladi. Quyidagi dasturni 
tahlil qilib bunga ishonch hosil qilish mumkin. 
#include  
#include  
using namespace std; 
int main() 

int j,i,s,n,m;
char satr1[60]="programmalash ";char *kor1=satr1; 
char satr2[60]="prograMMalash ";char *kor2=satr2; 
m=strncmp(kor1,kor2,6); cout<<" m="<n=strncmp(kor1,kor2,7); cout<<" n="<system("pause"); 
return 0; 

Dastur natijasi m=0, n=32 kabi bo‗ladi. 
Misol. Ikkita satr berilgan. Ularning farq qiluvchi belgilarini aniqlash 
dasturini tuzing. 
#include  
#include  


202 
using namespace std
int main() 

int j, i, s, n, m; char k1[20]="", k2[20]="";
char satr1[60]="progoamalash tillarini oRcanamiZ"; char 
*kor1=satr1; 
char satr2[60]="Programflash tillarini organamiz"; char 
*kor2=satr2; 
for(i=1; i<=32; i++) {
strncpy(k1, kor1, 1);strncpy(k2, kor2, 1); kor1+=1; kor2+=1;
n=strcmp(k1, k2); 
if(n!=0) cout<<}
system("pause"); 
return 0; 

Dastur natijasi quyida kltirilgan. Mustaqil tahlil qiling. 
1-chi belgisi har xil, ular: p va P 
5-chi belgisi har xil, ular: o va r 
8-chi belgisi har xil, ular: a va f 
25-chi belgisi har xil, ular: R va r 
26-chi belgisi har xil, ular: c va g 
32-chi belgisi har xil, ular: Z va z 

Download 2,67 Mb.
1   ...   121   122   123   124   125   126   127   128   ...   164




Download 2,67 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Satrlarni solishtirish (taqqoslash) funksiyalari

Download 2,67 Mb.
Pdf ko'rish