1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot


– DARS. FUNKTSIYALAR VA SATRLI MASSIVLAR



Yüklə 4,49 Mb.
səhifə33/89
tarix29.11.2023
ölçüsü4,49 Mb.
#140314
1   ...   29   30   31   32   33   34   35   36   ...   89
C kitob TAYYOR

34 – DARS. FUNKTSIYALAR VA SATRLI MASSIVLAR.

Satrli massivlar funktsiya argumenti sifatida ishlatilganda satrlarning umumiy uzunligi aniq ko’rsatilishi shartdir.


Misol tariqasida ihtiyoriy sondagi satrlar massivini alfavit bo’yicha tartiblash funktsiyasidan foydalanilgan dasturni ko’rib chiqamiz :
Include
Define m 10
Void sort(int n, char a[][m]);
{char c[m];int I,l;
for (i=0;ifor (j=i+1;jif (a[i][0]for (l=0;l}
Void main()
{
char aa[][m]={“Alimov”,”Dadashev”,”Boboev”};
por(3,aa);
for(int i=0;i<3;i++) Cout<<(“\n %s”,aa[i]);
}
Bu misolda funktsiya spetsifikatsiyasida ko’rsatish shart bo’lgan satrlar massivining ikkinchi parametrini m konstanta orqali kiritdik.
Funktsiyada bu shartdan kutilishning eng umumiy yuli ko’rsatkichlar massividan foydalanishdir:
Include
Void sort(int n, char* a[]);
{char* c;int I;
for (i=0;ifor (j=i+1;jif (a[i][0]{c=a[i];a[i]=a[j];a[j]=c;};
}
Void main()
{ char* pa[];
char aa[][3]={“Alimov”,”Dadashev”,”Boboev”};
for(int i=0;i<3;i++) pa[i]=&aa[i];
sort(3,aa);
for(int i=0;i<3;i++) Cout<<(“\n %s”,aa[i]);
}
Bu misolda shunga e'tibor berish kerakki satrli massivning tartiblanmagan e'lementlarini almashtirish uchun qo’shimcha tsikl kiritilgan edi. Ko’rsatkichlar massivining elementlari adreslardan iborat bo’lgani uchun, qo’shimcha tsiklga hojat qolmadi. Ko’rsatkichlar massivini initsializatsiya qilish. Nchi oy nomidan iborat bo’lgan simvolli qatorga ko’rsatkich qaytaruvchi MONTH_NAME(N) funktsiyasini ko’rib chiqamiz. Bu funktsiyada ichki statik massiv ishlatilgan bo’lib, funktsiyana murojaat kerakli qatorga ko’rsatkich qayta oladi.
char *month_name(n) /* return name of n-th month */
int n;
\(
static char *name[] = \(
"illegal month",
"january",
"february",
"march",
"april",
"may",
"jun",
"july",
"august",
"september",
"october",
"november",
"december"
\);
return ((n < 1 \!\! n > 12) ? name[0] : name[n]);
\)



Yüklə 4,49 Mb.

Dostları ilə paylaş:
1   ...   29   30   31   32   33   34   35   36   ...   89




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

    Ana səhifə