Mavzu: Massiv. Massiv tushunchasi. Bir o’lchovli massivlar. Reja: Massiv. Massiv tushunchasi


Massiv elementlarini saralash masalalari


Download 28.99 Kb.
bet7/8
Sana31.01.2024
Hajmi28.99 Kb.
#1831658
1   2   3   4   5   6   7   8
Bog'liq
Massiv. Massiv tushunchasi Bir o’lchovli massivlar Bir o’lchovli-fayllar.org


Massiv elementlarini saralash masalalari



  • Struktura massivi. Strukturalarni funksiyalarga uzatish.



  • Struktura elementlarini uzatish. Butun strukturani uzatish.





    10-misol. Saralash masalasi. Massiv elementlarini o’sib borish tartibida saralash algoritmi va dasturini tuzish. (puzirkoviy metod)

    Avval 1 ulchovli massiv elementlarini saralashni ko’rib o’tamiz.

    # include
    # include
    using namespace std;
    int main( )
    {
    float a[10], b; int i, j;
    for (i = 0; i<10; i ++)
    {cout<<" a["<>a[i];}
    for( j = 0; j< 10; j++)
    for ( i = 0; i< 10; i++)
    { if (a[i] > a[i+1])
    { b = a[i];
    a[i] = a[i+1];
    a[i+1] = b; }
    }
    cout. precision(3);
    cout<<"\n";
    for (i = 0; i < 10; i++)
    cout <<" b["<
    getch ( );
    }
    MAVZU: STRUKTURALARGA KO’RSATGICH. STRUKTURALARGA KO’RSATGICHNI TAVSIVLASH.

    Reja




    1. Ikki o’lchovli massiv elementlarini saralash.



    2. Strukturaga ko’rsatgich.



    3. Strukturaga ko’rsatgichlarni tavsivlash.



    Saralash masalasini 0 - 32767 oraliqdagi ixtiyoriy tasodifiy sonlar uchun (rand( ) funktsiyasidan foydalanib ) dasturini tuzamiz

    // Saralash masalasi. Massiv elementlarini o’sib borish tartibida
    # include
    # include
    # include
    # include
    using namespace std;
    int main( )
    {
    srand (time (0));
    float a[10], b; int i, j;
    for (i = 0; i<10; i ++)
    a[i] = rand( ) /33.;
    for( j = 0; j< 10; j++)
    for ( i = 0; i< 10; i++)
    {
    if (a[i] > a[i+1])
    { b = a[i];
    a[i] = a[i+1];
    a[i+1] = b; }
    }
    cout. precision(4);
    cout<<"\n";
    for (i = 0; i < 10; i++)
    cout <<" " <
    getch ( );
    }
    Endi 2 ulchovli massiv elementlarini saralashni ko’ramiz:
    Ikki o’lchovli massivlarni saralashda, agar saralashni o’sib borish tartibida qilish kerak bo’lsa, if operatoridagi solishtirish belgisi > bo’lishi kerak, agar kamayish tartibida saralash kerak bo’lsa, solishtirish belgisi < ko’rinishida bo’lishi kerak.
    Misol
    # include
    # include
    using namespace std;
    int main( )
    {
    float a[3][3]={{9.1, 8.3, 6.8},{4.8, 5.7, 1.6},{4.7, 3.8, 9.5}};
    float b;
    int i, j, k;
    for ( k=0; k<3; k++)
    for ( i=0; i<3; i++)
    for ( j=0; j<2; j++)
    { if (a[i][j] > a[i][j+1] )
    { b = a[i][j]; a[i][j] = a[i][j+1]; a[i][j+1] = b; } }
    cout<<"\n";
    for ( i=0; i<3; i++)
    { for ( j=0; j<3; j++)
    cout <<" a="<
    getch ( );
    }


    a=6.8 a=8.3 a=9.1


    a=1.6 a=4.8 a=5.7


    a=3.8 a=4.7 a=9.5


    Download 28.99 Kb.

    Do'stlaringiz bilan baham:
  • 1   2   3   4   5   6   7   8




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