برنامه ضرب ماتریس در C++
#include
//sourcea.ir
using namespace std;
int main(int argc, const char *argv[]) {
int n, m, p, a[100][100], b[100][100];
int mul[100][100];
cout << "---- A ----- \n";
cout << "row: ";
cin >> n;
cout << "\ncol:";
cin >> m;
cout << "\nelements: \n";
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
cin >> a[i][j];
cout << "\n---- B ----- \n";
cout << "col:";
cin >> p;
cout << "\nelements: \n";
for (int i = 0; i < m; i++)
for (int j = 0; j < p; j++)
cin >> b[i][j];
for (int i = 0; i < n; i++) {
for (int j = 0; j < p; j++) {
mul[i][j] = 0;
for (int k = 0; k < m; k++)
mul[i][j] += a[i][k] * b[k][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < p; j++) {
cout << mul[i][j] << " ";
}
cout << "\n";
}
return 0;
}
توضیحات:
صورت سوال:
برنامه ضرب ماتریس در C++
این برنامه از دو ماتریس را به ترتیب گرفته و سپس سطر های ماتریس اول را در ستون های ماتریس دوم ضرب میکند و ماتریس بدست آمده را جاپ میکند.
شما میتوانید سوالات خود را از طریق ایمیل پشتیبانی – تماس با ما – یا در قسمت نظرات سوال خود را بپرسید.
موفق باشید
A.J
پست های مرتبط:
استفاده کردن از مفهوم variadic templates در C++ برای تعریف توابع و کلاس های قالب با تعداد متغیری از پارامتر ها
مفهوم variadic templates در C++ به برنامه نویسان اجازه میدهد تا توابع و کلاسهای قالبی را تعریف کنند که تعداد متغیری از پارامترها را…
استفاده کردن از مفهوم move semantics در C++ برای بهینه سازی انتقال داده ها به جای کپی
مفهوم move semantics در C++ امکان انتقال منابع (مانند حافظه دینامیک) به جای کپی کردن آنها فراهم میکند. این بهینهسازی از تبدیل یک…
استفاده کردن از مفهوم RAII (Resource Acquisition Is Initialization) در C++ برای مدیریت منابع به صورت خودکار
مفهوم RAII یک الگوی طراحی در C++ است که به برنامه نویس امکان میدهد منابع (مانند حافظه دینامیک، فایلها، اشیاء سخت افزاری و …) را به…
استفاده کردن از مفهوم CRTP (Curiously Recurring Template Pattern) در C++ برای ارث بری از کلاس های قالب
الگوی CRTP یک الگوی طراحی در C++ است که اجازه میدهد کلاسی از یک کلاس قالب دیگر ارث بری کند و از قالب خود برای ارث بری…
استفاده کردن از توابع متغیر (variable templates) در C++ برای تعریف متغیر های قالب دار
توابع متغیر (variable templates) از ویژگیهای C++11 به بعد است که اجازه میدهد متغیرهایی با قالبهای مختلف تعریف شوند. این ویژگی…
استفاده کردن از توابع constexpr برای ارزیابی ثابت در زمان کامپایل در C++
توابع constexpr در C++ امکان ارزیابی ثابت یا constant expression در زمان کامپایل را فراهم میکنند. این توابع به کمک این امکان، اجازه…