نوشتن برنامه ضرب دو ماتریس در سی پلاس پلاس یکی از سوالات و تمرینات اساتید درس برنامه نویسی پیشرفته هست در این پست سورس کد ضرب دو ماتریس در سی پلاس پلاس رو آماده کردیم. در سایت سورس کدهای زیادی در زمینه برنامه نویسی سی پلاس پلاس منتشر کردیم که میتوان از این سورس کدها در جهت یادگیری و آموزش برنامه نویسی استفاده کرد. معمولا این تمرین با سوال : برنامه ای بنویسید که حاصل ضرب دو ماتریس را در خروجی چاپ کند پرسیده می شود. و شما به راحتی میتوانید با کمی دقت و توجه به سورس کد که ما در این صفحه گذاشتیم جواب این سوال رو دهید.
نحوه محاسبه ضرب دو ماتریس:
- تعداد ستون ماتریس اول با تعداد سطر ماتریس دوم باید برابر باشد.
- حاصل ضرب یک ماتریس m*n در یک ماتریس n*p یک ماتریس m*p خواهد بود.
توضیحات سورس کد:
- در این برنامه از سه تابع استفاده شده است
- تابع read برای خواندن اطلاعات از ورودی
- تابع multi برای محاسبه ی حاصل ضرب.(با استفاده از سه حلقه ی for تودرتو)
- تابع print برای چاپ اطلاعات نهایی در خروجی
سورس کد برنامه ضرب دو ماتریس در سی پلاس پلاس
#include<iostream> #include<conio.h> using namespace std; void read(int [][100],int,int); void print(int [][100],int,int); void multi(int[][100],int[][100],int[][100],int,int,int); int i,j; main() { int a[100][100],b[100][100],c[100][100]; int k,m,n,p; char ch; cout<<"matrix A row="; cin>>m; cout<<"\n"<<"matrix A column="; cin>>n; cout<<"\n"<<"matrix B column="; cin>>p; system("cls"); cout<<"Enter matrix A:\n\n"; read(a,m,n); system("cls"); cout<<"Enter matrix B:\n\n"; read(b,n,p); multi(a,b,c,m,n,p); system("cls"); cout<<"A*B:\n\n"; print(c,m,p); cout<<"\n\n\n"<<"exit...?(y/n):"; cin>>ch; if(ch=='y'||ch=='Y') return 0; else main(); } //*********** void read(int a[][100],int m,int n) { for(i=0;i<m;i++) { for(j=0;j<n;j++) { cout<<"["<<i<<','<<j<<"]="; cin>>a[i][j]; } }//end of for }//end of read() //********** void print(int a[][100],int m,int n) { for(i=0;i<m;i++) { for(j=0;j<n;j++) cout<<a[i][j]<<"\t"; cout<<"\n"; } }//end of print() //********** void multi(int a[][100],int b[][100],int c[][100],int m,int n,int p) { for(i=0;i<m;i++) { for(j=0;j<p;j++) { c[i][j]=0; for(int k=0;k<n;k++) c[i][j]+=a[i][k]*b[k][j]; } }//end of for }//end of multi() //> sourceiran.com
دیدگاه کاربران
تعداد دیدگاه های کاربران : 4 دیدگاهسلام یه سوال داشتم که میگه :دو ارایه داریم که هر کدام 10 عضو دارن و ضرب عضو اول ارایه Aدر عضو اخر ارایه B و ضرب عضو دوم ارایه Aدر عضو یکی مونده به اخر ارایه B و…را حسابه و در ارایه C قرار دهد
سلام
وقت بخیر
داخل سایت زیاد سورس کد گذاشتیم که می تونید از اونا استفاده کنید
این کد باید تو سی پلاس پلاس بنویسیم تا جواب بگیریم یا همینو میتونیم به عنوان پروژه حل شده تحویل استاد بدیم؟
اوکی هستش و هیچ مشکلی نداره