समस्या विवरण
एक वर्ग मैट्रिक्स दिया गया है जहां mat[i][j] = i * j। हमें मैट्रिक्स में उन तत्वों की गिनती करनी है जो x के बराबर हैं।
उदाहरण
इनपुट
matrix = {{1,2,3},{3,4,3},{3,4,5}}, x = 3
आउटपुट
4
इनपुट
matrix = {{10,20,30},{30,40,30},{30,40,50}}, x = 30
आउटपुट
4
समाधान दृष्टिकोण
सरल दृष्टिकोण: पूरे मैट्रिक्स को पार करें और गिनें।
अनुकूलित: चूंकि mat[i][j] = i*j, हमें (i,j) जोड़े गिनने हैं जहां i*j = x। यह x के लगभगकों (divisors) खोजने के बराबर है जो मैट्रिक्स आयामों के भीतर हैं।
कार्यकारी प्रोग्राम
#include <bits/stdc++.h>
using namespace std;
#define ROW 3
#define COL 3
int countEntries(int matrix[ROW][COL], int x) {
int count = 0;
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
if (matrix[i][j] == x) count++;
}
}
return count;
}
int main() {
int matrix[ROW][COL] = {
{1, 2, 3},
{3, 4, 3},
{3, 4, 5}
};
int x = 3;
cout << "x के बराबर प्रविष्टियों की गिनती: " << countEntries(matrix, x);
return 0;
}
आउटपुट
x के बराबर प्रविष्टियों की गिनती: 4