• Dastur kodi.
  • Matritsalarni ko’paytirish algoritmi




    Download 203.09 Kb.
    bet7/8
    Sana21.02.2023
    Hajmi203.09 Kb.
    #42980
    1   2   3   4   5   6   7   8
    Bog'liq
    Al variant
    AMALIY MASHG, WHERE SHOULD YOU FOCUS YOURTHINKING, I. bob. Yosh avlodni tarbiyalashda akademik xonandalik san’atini, План, Speaking, Chizmasi, инструмент, grunt va shag\'al, 91 01.04.2009, Qo\'shma qaror, 5d sinf
    Matritsalarni ko’paytirish algoritmi
    Matritsa-matritsani ko'paytirish muammosi munosabatlar bilan belgilanadi
    .


    masala.
    Ikkita matritsa berilgan. Ularning ko’paytmasini topish algoritmi va dasturini tuzing.





    Dastur kodi.

    #include
    using namespace std;//ulchamlari bir xil bulgan matritsalar uchun
    int main()
    {
    int a[10][10],b[10][10],c[10][10],r,d,i,j,k;
    cout<<"satrlar soni=";
    cin>>r;
    cout<<"ustunlar soni=";
    cin>>d;
    cout<<"matritsa elementlarini kiriting=\n";
    for(i=1;i<=r;i++)
    { for(j=1;j<=d;j++) {
    cin>>a[i][j];} }
    cout<<"ikkinchi matritsa elementlarini kiriting=\n";
    for(i=1;i<=r;i++)
    { for(j=1;j<=d;j++)
    cin>>b[i][j];}
    for(i=1;i<=r;i++)
    { for(j=1;j<=d;j++)
    { c[i][j]=0;
    for(k=1;k<=d;k++)
    {
    c[i][j]+=a[i][k]*b[k][j]; } } }
    //natijani chop qilish
    for(i=1;i<=r;i++)
    {
    for(j=1;j<=d;j++)
    {
    cout<
    }
    cout<<"\n";
    }
    return 0;
    }

    Bu algoritm O(n3) murakkablik bilan baholanadi. Chunki, algoritmda 3 ta ichma-ich sikl operatoridan foydalanilgan.


    for(i=1;i<=r;i++)
    {
    for(j=1;j<=d;j++)
    {
    c[i][j]=0;
    for(k=1;k<=d;k++)
    {
    c[i][j]+=a[i][k]*b[k][j];
    }
    }
    }

    Xulosa
    Аmaliy muammolarni hal qilish uchun dasturiy ta'minot usullarining samaradorligi, ayniqsa, biz o`n qavatli binoga chiqish uchun ikki hil muammoga ya`ni, zinapoyada va liftda o'ninchi qavatga chiqish bilan to'qnash kelganimizda aniq namoyon bo'ladi. Ushbu ikki usulni boshdan kechirgan kishi tabiiy ravishda liftni tanlaydi. Shunga o'xshab, muammoni hal qilish uchun dasturiy ta'minot usullarini o'zlashtirganlar hamma joyda, masalan, muammoni hal qilishning dasturiy ta'minot usulini qo'llashga intilishadi. Buning uchun algoritmlarni loyihalash, ularni algoritmik dasturlash tillarida taqdim etish va EXM da dasturlarni qilish jarayonlarini o'zlashtirish kerak bo`ladi.
    Algoritm tuzishda yana bir qoidani esdan chiqarmaslik lozim,ya’ni har qanday dasturchi dastur tuza oladi,ammo matematika va algoritmlashni yaxshi bilgan dasturchi hammasidan yaxshi.Aytmoqchimanki,algoritm bu dasturning boshlang’ich bo’g’ini.U qanchalik chunarli va ixcham bo’lsa ,u orqali yozilgan dastur ham qisqa va lo’nda ko’rinishda aniq ishlaydi.
    Ayrim masalalarning algoritmi bevosita takrorlanuvchi sikl operatorlariga murojaat qilish orqali yechiladi. Algoritmlarni tuzish ijodiy ishdek gap,uni istalgancha tuzish mumkin. Albatta, algoritmni aniq sxema bo’yicha tuzish zarur bo’lib qoladigan sodda hollar ham mavjud. Bunday hollarda yechilish algoritmi avval biron kim tomonidan olingan masalalarni misol keltirish mumkin. Masalan, differensial tenglamalarni sonli integrallash uchun Eyler metodi. Bu metod masalani yechish uchun umumiy holda ifodalangan algoritmdir.
    Demak,biz bu mustaqil ishda ko’rib chiqqanimizdek,agarda bizning oldimizga qo’yilgan masala integral va matritsalarga aloqador bo’lsa ,albatta avvalombor biz ularning matematik xususiyatlarini o’rgangan bo’lsak,hamda algoritmni chiroyli tuzsak,bizda chunarli va ixcham dastur hosil bo’ladi.



    Download 203.09 Kb.
    1   2   3   4   5   6   7   8




    Download 203.09 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Matritsalarni ko’paytirish algoritmi

    Download 203.09 Kb.