check home phone-call search send

سورس کد ضرب دو ماتریس در سی پلاس پلاس

نوشتن برنامه ضرب دو ماتریس در سی پلاس پلاس یکی از سوالات و تمرینات اساتید درس برنامه نویسی پیشرفته هست در این پست سورس کد ضرب دو ماتریس در سی پلاس پلاس رو آماده کردیم. در سایت سورس کدهای زیادی در زمینه برنامه نویسی سی پلاس پلاس منتشر کردیم که میتوان از این سورس کدها در جهت یادگیری و آموزش برنامه نویسی استفاده کرد. معمولا این تمرین با سوال : برنامه ای بنویسید که حاصل ضرب دو ماتریس را در خروجی چاپ کند پرسیده می شود. و شما به راحتی میتوانید با کمی دقت و توجه به سورس کد که ما در این صفحه گذاشتیم جواب این سوال رو دهید.

سورس کد ضرب دو ماتریس

نحوه محاسبه ضرب دو ماتریس:

  • تعداد ستون ماتریس اول با تعداد سطر ماتریس دوم باید برابر باشد.
  • حاصل ضرب یک ماتریس 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
Avatar
پشتیبان سورس ایران 2180 مطلب منتشر شده

در مجموعه سورس ایران سعی می کنیم علاوه بر آموزش برنامه نویسی، به مسائل مرتبط و مهارت های نرم بپردازیم تا بعدهای مختلف را پوشش دهیم.

دیدگاه کاربران

تعداد دیدگاه های کاربران : 4 دیدگاه
Avatar
amir
پاسخ دهید

سلام یه سوال داشتم که میگه :دو ارایه داریم که هر کدام 10 عضو دارن و ضرب عضو اول ارایه Aدر عضو اخر ارایه B و ضرب عضو دوم ارایه Aدر عضو یکی مونده به اخر ارایه B و…را حسابه و در ارایه C قرار دهد

Avatar
سعید
پاسخ دهید

این کد باید تو سی پلاس پلاس بنویسیم تا جواب بگیریم یا همینو میتونیم به عنوان پروژه حل شده تحویل استاد بدیم؟


شما با موفقیت در خبرنامه ما عضو شدید