আমাদেরকে পূর্ণসংখ্যার ধরণের উপাদানগুলির একটি অ্যারে এবং প্রদত্ত সারি এবং কলামের আকারের একটি ম্যাট্রিক্স বা 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