Mavzuga kirish; Funksiya tavsifi; Qiymatlarni qaytarish; Funksiya prototiplari


Download 59.05 Kb.
bet3/4
Sana05.01.2022
Hajmi59.05 Kb.
#224274
1   2   3   4
Bog'liq
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.



  1. 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; }


  1. 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


  1. Satrning chap tomonidan kiritilgan boshqa satrni qidirish funksiyasi:

int index(char *ct1, char *ct2)

{ 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; }


Funksiyaning ishlashiga misol:

# 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);

}


Download 59.05 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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