কম্পিউটার

C++ এ NxM ম্যাট্রিক্সের প্রতিটি সারিতে উপস্থিত একটি অ্যারের উপাদানের গণনা


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

  1. C++-এ অ্যারেতে উপস্থিত একটি কী K-এর সম্ভাবনা

  2. C++ এ সাজানো অ্যারেতে ছোট ছোট উপাদান গণনা করুন

  3. C++ এ একটি অ্যারেতে জোড় এবং বিজোড় উপাদানের সংখ্যা গণনা করুন

  4. অ্যারের সমস্ত উপাদানকে C++ এ 4 দ্বারা বিভাজ্য করার ন্যূনতম পদক্ষেপ