আমাদেরকে পূর্ণসংখ্যার ধরণের উপাদানগুলির একটি অ্যারে এবং প্রদত্ত সারি এবং কলামের আকারের একটি ম্যাট্রিক্স বা 2-D অ্যারে দেওয়া হয়েছে এবং কাজটি হল একটি ম্যাট্রিক্সের প্রতিটি সারিতে উপস্থিত একটি অ্যারের উপাদানগুলির গণনা করা৷
ইনপুট
int arr = { 2, 4, 6} and int matrix[row][col] = { { 2, 4, 6 }, {3, 4, 6}, {6, 2, 1}} আউটপুট
Elements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2
ব্যাখ্যা
we are having array containing 2, 4 and 6 as elements and now we will check the occurrences of 3 elements in every row of matrix by matching the elements of an array with the elements of a matrix, like, 2, 4 and 6 all are present in first row of matrix so the count of elements for row 1 is 3, similarly, count of elements for row 2 is 2 as only 4 and 6 are there and count of elements for row 3 is 2 as only 2 and 6 are there.
ইনপুট
int arr = { 1, 3} and int matrix[row][col] = { { 1, 4, 6 }, {3, 1, 6}, {6, 2, 4}} আউটপুট
Elements of array in row 1 are: 1 Elements of array in row 2 are: 2 Elements of array in row 3 are: 0
ব্যাখ্যা
we are having array containing 1 and 3 as elements and now we will check the occurrences of 2 elements in every row of matrix by matching the elements of an array with theelements of a matrix, like, only 1 is present in first row of matrix so the count of elements for row 1 is 1, similarly, count of elements for row 2 is 2 as 1 and 3 both are there and count of elements for row 3 is 0 as none of 1 and 3 are there.
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
প্রদত্ত সমস্যা সমাধানের জন্য একাধিক পন্থা হতে পারে যেমন নিষ্পাপ দৃষ্টিভঙ্গি এবং দক্ষ পদ্ধতি। তাই আসুন প্রথমে নিষ্পাপ পদ্ধতির দিকে তাকাই .
-
পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে এবং সারি এবং কলাম আকারের ম্যাট্রিক্স ইনপুট করুন
-
একটি অ্যারের আকার গণনা করুন এবং আরও প্রক্রিয়াকরণের জন্য অ্যারে, ম্যাট্রিক্স এবং অ্যারের আকারকে ফাংশনে পাস করুন
-
ম্যাট্রিক্স সারিতে উপস্থিত উপাদানগুলির গণনা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা নিন৷
-
একটি ম্যাট্রিক্সের সারি আকার পর্যন্ত 0 থেকে FOR লুপ শুরু করুন
-
লুপের ভিতরে, 0 থেকে একটি অ্যারের আকার পর্যন্ত FOR শুরু করুন
-
arr[k]
দিয়ে একটি তাপমাত্রা সেট করুন -
0 থেকে একটি ম্যাট্রিক্সের কলাম আকার পর্যন্ত FOR আরেকটি লুপ শুরু করুন
-
লুপগুলির ভিতরে, IF temp =ম্যাট্রিক্স[i][j] পরীক্ষা করুন তারপর গণনা 1 দ্বারা বৃদ্ধি করুন
-
প্রতিটি সারির পরিবর্তনের পরে এটি রিফ্রেশ করতে গণনা 0 এ সেট করুন
-
প্রতিটি সারির পরিবর্তনের আগে গণনার মান প্রিন্ট করুন।
দক্ষ পদ্ধতি
-
পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে এবং সারি এবং কলাম আকারের ম্যাট্রিক্স ইনপুট করুন
-
একটি অ্যারের আকার গণনা করুন এবং আরও প্রক্রিয়াকরণের জন্য অ্যারে, ম্যাট্রিক্স এবং অ্যারের আকারকে ফাংশনে পাস করুন
-
একটি ম্যাট্রিক্সের সারি আকার পর্যন্ত 0 থেকে FOR লুপ শুরু করুন
-
unordered_map
টাইপের একটি ভেরিয়েবল তৈরি করুন -
0 থেকে একটি ম্যাট্রিক্সের কলাম আকার পর্যন্ত FOR আরেকটি লুপ শুরু করুন
-
1
হিসাবে ম্যাট্রিক্স[i][j] সহ একটি ক্রমবিহীন মানচিত্র সেট করুন -
ম্যাট্রিক্স সারিতে উপস্থিত উপাদানগুলির গণনা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা নিন৷
-
লুপের ভিতরে, 0 থেকে একটি অ্যারের আকার পর্যন্ত FOR শুরু করুন
-
যদি um[arr[j]]==1 চেক করুন তারপর গণনা 1 দ্বারা বৃদ্ধি করুন
-
প্রতিটি সারির পরিবর্তনের আগে গণনার মান প্রিন্ট করুন।
উদাহরণ (নিষ্পাপ পদ্ধতি)
#include<bits/stdc++.h>
using namespace std;
#define row 3
#define col 3
void arr_matrix(int matrix[row][col], int arr[], int size){
int count = 0;
//for matrix row
for(int i=0; i<row; i++){
//for array
for(int k=0 ; k<size ; k++){
int temp = arr[k];
//for matrix col
for(int j = 0; j<col; j++){
if(temp == matrix[i][j]){
count++;
}
}
}
cout<<"Elements of array in row "<< i + 1 <<" are: " << count << endl;
count = 0;
}
}
int main(){
int matrix[row][col] = { { 2, 4, 6 }, {3, 4, 6}, {6, 2, 1}};
int arr[] = { 2, 4, 6};
int size = sizeof(arr) / sizeof(arr[0]);
arr_matrix(matrix, arr, size);
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেElements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2
উদাহরণ (দক্ষ পদ্ধতি)
#include <bits/stdc++.h>
using namespace std;
#define row 3
#define col 3
void arr_matrix(int matrix[row][col], int arr[], int size){
for (int i = 0; i < row; i++){
unordered_map<int, int> um;
for (int j = 0; j < col; j++){
um[matrix[i][j]] = 1;
}
int count = 0;
for (int j = 0; j < size; j++) {
if (um[arr[j]])
count++;
}
cout<<"Elements of array in row "<< i + 1 <<" are: " << count << endl;
}
}
int main(){
int matrix[row][col] = { { 2, 4, 6 }, {3, 4, 6}, {6, 2, 1}};
int arr[] = { 2, 4, 6};
int size = sizeof(arr) / sizeof(arr[0]);
arr_matrix(matrix, arr, size);
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেElements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2