• 33 – DARS. FUNKTSIYALAR VA SIMVOLLI MASSIVLAR.
  • – DARS. FUNKTSIYALAR VA JADVALLAR




    Download 313,45 Kb.
    bet32/89
    Sana16.11.2023
    Hajmi313,45 Kb.
    #100010
    1   ...   28   29   30   31   32   33   34   35   ...   89
    Bog'liq
    @AKT Official C haqida o\'zbekcha darslar majmui

    32 – DARS. FUNKTSIYALAR VA JADVALLAR

    Jadvallar funktsiyalar argumentlari sifatida kelganda jadvallarning birinchi parametridan boshqa parametrining chegaralari ko’rsatilishi shartdir. Misol tariqasida uch o’lchovli kvadrat matritsani uch o’lchovli vektorga ko’paytirish funktsiyasini k’orib chiqamiz:


    Void Umn_vec( float a[3][3],float b[3], float c[3])
    {
    for(I=0;i<3;++) {
    c[I]=0;
    for(j=0;j<3;j++)
    c[I]+=a[I,j]*b[j];
    };
    }
    Har hil chegarali jadvallar bilan funktsiyalardan foydalanishning bir yuli bu oldindan kiritiluvchi konstantalardan foydalanishdir. Lekin asosiy yuli ko’rsatkichlar massivlaridan foydalanish. Matritsani vektorga ko’paytirish funktsiyasi ko’rsatkichlar massivlari yordamida qo’yidagicha yoziladi:
    Void Umn_vec( int n,float* a[],float b[], float c[])
    { int I,j;
    for(I=0;ic[I]=0;
    for(j=0;jc[I]+=a[I,j]*b[j];
    };
    }
    Matritsani matritsaga ko’paytirish funktsiyasi esa qo’yidagicha yoziladi:
    Void Umn_matr( float* a[],float* b[], float* c[])
    {
    int I,j,k;
    for(I=0;ifor(j=0;j{c[I,j]=0;
    for(k=0;kc[I,j]+=a[I,k]*b[j,k];
    };
    }
    33 – DARS. FUNKTSIYALAR VA SIMVOLLI MASSIVLAR.

    Funktsiyalarda satrli massivlar ishlatilganda ularning chegarasini ko’rsatish shart emas. Satrlarning uzunligini hisoblash len funktsiyasii qo’yidagicha ta'riflash mumkin:


    Int len(char c[])
    { int m=0;
    for(m=0;c[m]!=’0’;m++);
    return m;
    };
    Shu funktsiyadan foydalanilgan dasturni keltiramiz:
    Include #
    Int len(char c[])
    { int m=0;
    while(c[m++]);
    return m-1
    }
    void main()
    {char e[]=”Pro Tempore!”;
    Cout<<(“\n%I”,len(E));
    };
    PASKAL' tilida copy funktsiyasi mavjud bo’lib, berilgan satrning, berilgan pozitsiyasidan boshlab berilgan sondagi simvollarini ajratib olishga imkon beradi. Shu funktsiyani C++ tilida qo’yidagicha ta'riflash mumkin:
    Void copy(char a[], char b[], int k, int m)
    { int l;
    for(int n=0; a[n]!=’\0’;n++);
    if (k>m) {b[0]=’\0’;break};
    if (k+m>n) l=n-k else l=m;
    for(int i=0;i}
    Berilgan satrni teskariga aylantiruvchi funktsiya:
    reverse(char s[]s) /* reverse string s in place */
    int c, i, j;
    for(i = 0, j = strlen(s) - 1; i < j; i++, j--)
    c = s[i];
    s[i] = s[j];
    s[j] = c;
    Keyingi misolimizda T qatorni S qator ohiriga o’lovchi STRCAT(S, T) funktsiyasini ko’rib chiqamiz:
    strcat(s,t) /* concatenate t to end of s */
    char s[], t[]; /* s must be big enough */
    int i, j;
    i = j = 0;
    while (s[i] != '\0') / *find end of s */
    i++;
    while((s[i++] = t[j++]) != '\0') /*copy t*/

    Download 313,45 Kb.
    1   ...   28   29   30   31   32   33   34   35   ...   89




    Download 313,45 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    – DARS. FUNKTSIYALAR VA JADVALLAR

    Download 313,45 Kb.