একটি বিজোড় বর্গ ম্যাট্রিক্স (রো = কলাম = বিজোড় সংখ্যা) দেওয়া আছে। মধ্যবর্তী রো এবং মধ্যবর্তী কলামের উপাদানগুলোর গুণফল আলাদা আলাদা বের করতে হবে।
বাধ্যতামূলক শর্তাবলী
- ম্যাট্রিক্স অবশ্যই বর্গাকার হতে হবে।
- রো এবং কলাম বিজোড় সংখ্যা হতে হবে।
উদাহরণ
ইনপুট: mat[][] = {{1,2,3}, {4,5,6}, {7,8,9}}
আউটপুট: মধ্যবর্তী রোর গুণফল = 120, মধ্যবর্তী কলামের গুণফল = 80
ব্যাখ্যা: মধ্যবর্তী রো (ইন্ডেক্স ১): 4×5×6=120। মধ্যবর্তী কলাম (ইন্ডেক্স ১): 2×5×8=80।
ইনপুট: mat[][] = {{3,5,0}, {1,2,7}, {9,0,5}}
আউটপুট: মধ্যবর্তী রো = 14, মধ্যবর্তী কলাম = 0
পদ্ধতি
- ম্যাট্রিক্স mat[][] ইনপুট।
- product() ফাংশনটি মধ্যবর্তী রো (n/2) এবং কলাম (n/2) ট্রাভার্স করে গুণফল বের করে।
- rproduct = ∏mat[n/2][i], cproduct = ∏mat[i][n/2]।
C প্রোগ্রাম উদাহরণ
#include <stdio.h>
#define MAX 3
int product(int mat[][MAX], int n) {
int rproduct = 1, cproduct = 1;
for (int i = 0; i < n; i++) {
rproduct *= mat[n/2][i];
cproduct *= mat[i][n/2];
}
printf("মধ্যবর্তী রোর গুণফল: %d\n", rproduct);
printf("মধ্যবর্তী কলামের গুণফল: %d\n", cproduct);
return 0;
}
int main() {
int mat[][MAX] = {{1,2,3}, {4,5,6}, {7,8,9}};
product(mat, MAX);
return 0;
}
আউটপুট
মধ্যবর্তী রোর গুণফল: 120 মধ্যবর্তী কলামের গুণফল: 80