• C++ da satrli kattaliklar v ular bilan ishlash Belgili axborot va satrlar
  • Nukus innovatsion instituti




    Download 72,89 Kb.
    bet1/3
    Sana14.05.2024
    Hajmi72,89 Kb.
    #231883
      1   2   3
    Bog'liq
    С kattaliklar O\'tebaeva N




    O’ZBEKISTON RESPUBLIKASI
    OLIY TA’LIM, FAN VA INNOVATSIYALAR
    VAZIRLIGI


    NUKUS INNOVATSION INSTITUTI

    IT DASTURIY INJINERING fakulteti sirtqi bo’limi


    ___________________________________________fanidan
    MUSTAQIL ISH
    MAVZU: _______________________________________
    _______________________________________
    Bajargan:_____________________________________________
    Qabul qilgan:__________________________________________
    Gurux raqami «___»

    REJA:


    1. Belgili axborot va satrlar.

    2. So’zlar massivlari.

    3. Izlash va tartiblash


    C++ da satrli kattaliklar v ular bilan ishlash
    Belgili axborot va satrlar
    Satrlar. C da belgili ma’lumotlar uchun char turi qabul qilingan. Belgili axborotni taqdim etishda belgilar, simvolli o’zgaruvchilar va matnli konstantalar qabul qilingan.
    Misollar:
    const char c = 'c';
    char a,b;
    S dagi satr - bu nul-belgi - \0 (nul-terminator)- bilan tugallanuvchi belgilar massivi. Nul-terminatorning holatiga qarab satrning amaldagi uzunligi aniqlanadi. Bunday massivdagi elementlar soni, satr tasviriga qaraganda, bittaga ko’p.
    Simvolli massivlar quyidagicha inisializasiya qilinadi:
    char capital[] = "TASHKENT"; Bu holda avtomatik ravishda massiv elementlari soni aniqlanadi va massiv oxiriga satr ko’chirish '\0'simvoli qo’shiladi.
    Yuqoridagi inisializasiyani quyidagicha amalga oshirish mumkin:
    char capital[] =
    {'T','A','S','H','K','E','N','T','\0'};
    Bu holda so’z oxirida '\0' simvoli aniq ko’rsatilishi shart.
    Qiymat berish operatori yordamida satrga qiymat berish mumkin emas. Satrni massivga yoki kiritish paytida yoki nomlantirish yordamida joylashtirish mumkin.
    #include
    #include
    int main()
    {
    char s1[10] = "string1";
    int k = sizeof(s1);
    printf("\n%s %d",s1,k);
    char s2[] = "string2";
    k = sizeof(s2);
    printf("\n%s %d",s2,k);
    char s3[] = {'s','t','r','i','n','g','3','\0'};
    k = sizeof(s3);
    printf("\n%s %d",s3,k);
    char *s4 = "string4";//satr ko'rsatkichi, uni o'zgartirib bo'lmaydi
    k = sizeof(s4);
    printf("\n%s %d",s4,k);
    system("pause");
    return 0;
    }
    Natija:
    string1 10
    string2 8
    string3 8
    string4 4
    Keyingi misolda kiritilgan so’zdan berilgan harfni olib tashlash dasturi berilgan.
    #include
    int main() {
    char s[100];
    scanf("%s",&s);
    int i, j; for ( i = j = 0;
    s[i] ! = '\0'; i++) if ( s[i] ! = 'c' ) s[j++] = s[i];
    s[j] = '\0'; print
    if("%s",s);
    return 0;
    }
    Xar safar 's' dan farqli simvol uchraganda, u j pozisiyaga yoziladi va faqat shundan so’ng j ning qiymati 1 ga oshadi. Bu quyidagi yozuvga ekvivalent:
    if ( s[i] ! = c )
    s[j] = s[i];
    j++;
    Funksiyalar va satrlar. Funksiyalarda satrlar ishlatilganda ularning chegarasini ko’rsatish shart emas. Satrlarning uzunligini hisoblash len funksiyasini quyidagicha ta’riflash mumkin:
    #include
    int len(char c[])
    { int m = 0;
    for(m = 0;c[m]! = ’0’;m++);
    return m;
    };
    Shu funksiyadan foydalanilgan dasturni keltiramiz:
    #include
    int len(char c[])
    {
    int m = 0;
    while(c[m++]);
    return m-1;
    };
    int main()
    {
    char e[] = "Pro Tempore!";
    printf("\n%d", len(e));
    return 0;
    }
    Bu funksiyaning standart varianti strlen deb ataladi va bu funksiyadan foydalanish uchun string.h sarlavha faylidan foydalanish lozim.
    Satrdan nusxa olish funksiyasi strcpy ni C tilida quyidagicha ta’riflash mumkin:
    #include
    void strlen(char s1[], char s2[])
    {
    int i = 0;
    while(s2[i]! = '\0') s1[i++] = s2[i];
    s1[i] = s2[i];
    }
    int main()
    {
    char s1[] = "aaa";
    char s2[] = "ddd";
    strcpy(s1,s2);
    printf("%s",s1);
    return 0;
    }
    Natija:
    ddd
    Berilgan satrni teskariga aylantiruvchi funksiya:
    reverse(char s[])
    {
    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 oxiriga ulovchi STRCAT(S,T) funksiyasini ko’rib chiqamiz:

    strcat(char s[], t[])


    {
    int i, j;
    i = j = 0;
    while (s[i] ! = '\0') i++;
    while((s[i++] = t[j++]) ! = '\0')
    }



    Download 72,89 Kb.
      1   2   3




    Download 72,89 Kb.