Mavzuga kirish; Funksiya tavsifi; Qiymatlarni qaytarish; Funksiya prototiplari
Download 59.05 Kb.
|
5- ma'ruza matni
Satrlar funksiya parametri sifatida.
Satrlar funksiya parametri sifatida ishlatiladigan bo’lsa, char [ ] yoki char* toifali ko’rsatkichlar kabi tavsiflanadi. Oddiy massiv parametridan farqli o’laroq, satrning uzunligini ko’rsatish shart emas. Bunda \0 belgisi satr oxirini avtomatik ravishda ko’rsatadi. Misol tariqasida satrlarni qayta ishlovchi bir nechta dasturlarni ko’rib chiqamiz. Bu dasturlarning o’xshashi standart kutubxonalarda saqlanadi va ularni ishga tushirish uchun string.h stdlib.h fayllaridan foydalanish kerak bo’ladi. Satr toifali o’zgaruvchining uzunligini aniqlash uchun funksiya: int len(char e[ ]) { int m;
for(m=0; e[m]!=’\0’; m++) return m; } Yoki bu dasturdagi massivni ko’rsatkichlar orqali quyidagicha ifoda etish ham mumkin: int len(char *s) { int m; for(m=0; *s!=’\0’; m++) return m; }
Satr toifali massiv elementlarini teskari ifoda etish uchun funksiya: void invert (char e[ ]) { char s; int i, j, m; for (m=0; e[m]!=’\0’; m++) for(j=0, j=m-i; i { s=e[i]; e[i] = e[j]; e[j] =s; } }
Dasturdagi void toifadan ma’lumki, bu funksiya hech qanday qiymat qaytarmaydi. Masalan:
# include int main( )
{ char ct[ ] =”0123456789”; void invert (char [ ]);
invert(ct); cout << ct; } Natija: 9876543210
{ int i, j, m1, m2; for(m1=0; ct1[m1]!=’\0’; m1++) for(m2=0; ct2[m2]!=’\0’; m2++) if (m2>m1) return -1; for(i=0; i { for(j=0; j if (ct2[j] !=ct1[i+j] ) break; if (j==m2) return 1; }
return -1; } # include int main ( )
{ char c1[ ] =”og`irlik_yig`indisi”; int index(char[ ], char[ ]);
char c2[ ] = “non”; char c3[ ] = “olma”;
cout<< index(c1,c2); cout<< index(c1,c3);
}
|
ma'muriyatiga murojaat qiling