• 2. Massiv elementlarini kiritish va chiqarish;
  • include include void main ( )
  • { b[i] = a[i] + 64; cout qatnashishini ihtiyor etsak
  • include include include include int main ( ) {
  • 16-mavzu: Ikki o’lchamli massivlar Reja Ko’p o’lchamli massivlarni tavsiflash, ularga ishlov berish; Massiv elementlarini kiritish va chiqarish




    Download 365.3 Kb.
    Pdf ko'rish
    Sana10.09.2023
    Hajmi365.3 Kb.
    #81074
    Bog'liq
    1-mavzu ppt, NUD Suv avtomatikasi, 15


    16-mavzu: Ikki o’lchamli massivlar 
    Reja 
     
    1. 
    Ko’p o’lchamli massivlarni tavsiflash, ularga ishlov berish;
     
    2. Massiv elementlarini kiritish va chiqarish;
    C++ algoritmik tilida faqat bir o’lchamli massivlar bilan emas, balki ko’p 
    o’lchamli massivlar bilan ham ishlash mumkin. Agar massiv o’z navbatida yana 
    massivdan iborat bo’lsa, demak ikki o’lchamli massiv, ya’ni matrisa deyiladi. 
    Massivlarning o’lchovi kompyuterda ishlashga to’sqinlik qilmaydi, chunki ular 
    xotirada chiziqli ketma-ket elementlar sifatida saqlanadi. Ko’p o’lchamli 
    massivlarni xuddi 1 o’lchamli massivga o’xshab e’lon qilinadi, faqat indeks toifasi 
    sifatida massivning satrlari (qatorlari) va ustunlari toifasi ko’rsatiladi va ular 
    alohida [ ][ ] qavslarda ko’rsatiladi. Masalan: A nomli butun sonlardan iborat 2 
    o’lchamli massiv berilgan bo’lsa va satrlar soni ta, ustunlar soni ta bo’lsa: int 
    a[n][m] 
    Ikki ulchovli massiv elementlarini kiritish-chiqarish, ular ustida amallar bajarish 
    ichma-ich joylashgan parametrli sikllar ichida bo’ladi, ya’ni 1-sikl satrlar uchun, 2-
    sikl ustunlar uchun. Masalan: 
    for ( i=0; i<=3; i++) 
    for ( j=0; j<=3; j++) 
    cin >>a[i][j]; 
    Agar ularni klaviaturadan kiritish kerak bo’lsa, ya’ni cin operatori yordamida 
    tashkil etilsa, quyidagicha kiritiladi: 
    1 2 3 
    4 5 6 
    7 8 9 
    Bundan tashqari massiv elementlarini e’lon qilish bilan birga ularni 
    inisalizasiya ham qilish mumkin: 
    int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; 
    Natijalar chiroyli ko’rinishda bo’lishi uchun chiqarish operatorini quyidagicha 
    qilib tashkil etish kerak: 
    for (int i=0; i<3; i++) 
    { for (int j=0; j<3; j++) 
    cout <<”a[“<
    cout <
    getch ( ); 

    1-misol. A va V matrisalari berilgan. Quyidagi formula orqali yangi S 
    matrisasini hosil qiling: Sij = Aij + Bij; bu yerda i=1,3; j=1,2; 
    # include  
    # include  


    void main ( ) 
    { float a[3][2]={{24.3,-4.15},{0,18.4},{-8.8,-15.75}}, 
    b[3][2]={{0.1,-4.8},{6.8,7.1},{-2.8,0.40}}; 
    float c[3][2]; 
    int i, j; 
    for (i = 0; i < 3; i++) 
    { for (j = 0; j < 3; j++) 
    { c[i][j] = a[i][j] + b[i][j]; 
    cout <<”c[“<
    cout <
    getch ( ); 

    Massiv elementlariga son qiymat berishda kompyuter xotirasidagi tasodifiy butun 
    sonlardan foydalanish ham mumkin. Buning uchun standart kutubxonaning rand() 
    funksiyasini ishga tushirish kerak. rand() funksiyasi yordamida 0 ÷ 32767 
    oraliqdagi ihtiyoriy sonlarni olish mumkin. Bu qiymatlar umuman tasodifiydir. 
    (psevdo – tasodifiy degani). 
    Agar dastur qayta-qayta ishlatilsa, ayni tasodifiy qiymatlar takrorlanaveradi. Ularni 
    yangi tasodifiy qiymatlar qilish uchun srand() funksiyasini dasturda bir marta 
    e’lon qilish kerak. Dastur ishlashi jarayonida ehtiyojga qarab rand() funksiyasi 
    chaqirilaveradi. Tasodifiy qiymatlar bilan ishlash uchun <stdlib.h> faylini e’lon 
    qilish zarur. srand() funksiyasidagi qiymatni avtomatik ravishda o’zgaradigan 
    holatga keltirish uchun srand (time (NULL)) yozish ma’qul, shunda kompyuter 
    ichidagi soatning qiymati time() funksiyasi yordamida o’rnatiladi va srand ga 
    parametr sifatida beriladi. NULL yoki 0 deb yozilsa, qiymat sekundlar ko’rinishida 
    beriladi. Vaqt bilan ishlash uchun <time.h> ni e’lon qilish kerak. 
    Misol: 
    # include  
    # include  
    # include  
    # include  
    int main ( ) 
    { srand ( time (0)); 
    int a[5], b[5], i; 
    for (i = 0; i < 5; i++) a[i] = rand ( ); 
    for (i = 0; i < 5; i++) 
    { b[i] = a[i] + 64; 
    cout << “b=”<
    Izoh: tasodifiy sonlar ichida manfiy sonlarning ham 
    qatnashishini ihtiyor etsak, 
    a[i] = 1050 - rand ( ); yoki a[i] = rand ( )-1000; deb 
    yozish ham mumkin. 
    2-misol. 2 ta matrisa berilgan. Ularni o’zaro ko’paytirib yangi matrisa hosil qiling. 
    Bu yerda 1- matrisaning ustunlar soni 2-matrisaning satrlar soniga teng bo’lishi 
    kerak. 


    # include  
    # include  
    # include  
    # include  
    int main ( ) 

    { srand ( time (0)); 
    int a[3][3], b[3][3],c[3][3], i, j, k; 
    for (i=0; i<3; i++) 
    for (j=0; j<3; j++) 
    a[i][j] = rand ( ); 
    for (i=0; i<3; i++) 
    for (j=0; j<3; j++) 
    b[i][j] = rand ( ); 
    for (i=0; i<3; i++) 
    { for (j=0; j<3; j++) 
    { c[i][j] = 0; 
    for (k=0; k<3; k++) 
    c[i][j] = c[i][j] + a[i][k]*b[k][j]; 
    cout <<”c=”<
    cout << endl; } 
    getch ( );} 
     
     

    Download 365.3 Kb.




    Download 365.3 Kb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    16-mavzu: Ikki o’lchamli massivlar Reja Ko’p o’lchamli massivlarni tavsiflash, ularga ishlov berish; Massiv elementlarini kiritish va chiqarish

    Download 365.3 Kb.
    Pdf ko'rish