Mustaqil ish Mavzu: Chiziqli algoritmlar. Tsikllar. Integrallarni taqribiy hisoblash usullari, samaradorligi. Matritsalarni ko‘paytirish. Determinantni hisoblash


Matritsalarni ko’paytirish algoritmi


Download 109.75 Kb.
bet7/8
Sana16.06.2023
Hajmi109.75 Kb.
#1511360
1   2   3   4   5   6   7   8
Bog'liq
Algoritmlarni loyihalash

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 109.75 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