কম্পিউটার

একটি ম্যাট্রিক্সে সারি গণনা করুন যা C++ এ একই উপাদান নিয়ে গঠিত


আমাদেরকে পূর্ণসংখ্যার সমন্বয়ে একটি ম্যাট্রিক্স দেওয়া হয়েছে। লক্ষ্য হল ম্যাট্রিক্সের সারিগুলির সংখ্যা খুঁজে বের করা যাতে এতে সমস্ত অভিন্ন উপাদান রয়েছে৷

যদি দেখানো হয় −

হিসাবে 5X4 ম্যাট্রিক্স থাকে
1 5 1 3 1
1 1 1 1 1
5 3 2 3 5
7 7 7 7 7

উত্তর হবে 2, সারি 1 (সমস্ত 1 এর আছে) এবং 3 সারিতে (সমস্ত 7 এর আছে) একই উপাদান রয়েছে।

আসুন উদাহরণ দিয়ে বুঝতে পারি।

ইনপুট

matrix =
   [ 1 1 1 1 ]
   [ 2 3 2 7 ]
   [ 3 3 3 3 ]

আউটপুট − একটি ম্যাট্রিক্সে সারির সংখ্যা যা একই উপাদান নিয়ে গঠিত হয় − 2

ব্যাখ্যা − সারি 0-এ সমস্ত 1 এবং 2 সারিতে সমস্ত 3s রয়েছে৷

ইনপুট৷ -

matrix =
   [ 1 2 3 4 ]
   [ 1 2 3 4 ]
   [ 1 2 3 4 ]

আউটপুট − একটি ম্যাট্রিক্সে সারির সংখ্যা যা একই উপাদান নিয়ে গঠিত হয় − 0

ব্যাখ্যা − সমস্ত সারিতে বিভিন্ন উপাদান রয়েছে৷

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

আমরা ম্যাট্রিক্সটিকে ভেক্টরের ভেক্টর আকারে নিচ্ছি। আমরা প্রতিটি ভেক্টর অতিক্রম করব এবং প্রতিটি সারির জন্য একটি সেট তৈরি করব। এই সেটে সারি উপাদান সন্নিবেশ করা চালিয়ে যান। শেষ পর্যন্ত যদি এই সেটটিতে শুধুমাত্র 1টি উপাদান থাকে (সেটের আকার নিন)। তারপর বর্তমান সারি সব একই উপাদান আছে.

  • ম্যাট্রিক্সটিকে একটি ভেক্টর হিসাবে নিন <ভেক্টর > ম্যাট্রিক্স এবং এটি শুরু করুন

  • matrix.size().

    ব্যবহার করে আকার গণনা করুন
  • ফাংশন same_rows(vector> matrix, int size) ম্যাট্রিক্স নেয় এবং এর আকার এবং একই উপাদান আছে এমন সারিগুলির গণনা প্রদান করে।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • লুপ ব্যবহার করে ম্যাট্রিক্স অতিক্রম করুন। i=0 থেকে i=size।

  • প্রতিটি সারির জন্য j=0 থেকে j

  • বর্তমান সারির উপাদান সংরক্ষণের জন্য একটি সেট set_row নিন।

  • set_row.insert(matrix[i][j]) ব্যবহার করে বর্তমান সারির জন্য এই সেটে উপাদান যোগ করুন।

  • শেষে set_row এর আকার পরীক্ষা করুন। যদি এটি 1 হয় তবে এই সারিতে একই উপাদান রয়েছে। সংখ্যা বৃদ্ধি।

  • সমস্ত সারির জন্য সমস্ত পুনরাবৃত্তির শেষে, চূড়ান্ত ফলাফল হিসাবে ফেরত গণনা করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int same_rows(vector> matrix, int size){
   int count = 0;
   for (int i = 0; i < size; i++){
      set set_row;
      for (int j = 0; j < matrix[i].size(); j++){
         set_row.insert(matrix[i][j]);
      }
      int set_size = set_row.size();
      if (set_size == 1){
         count++;
      }
   }
   return count;
}
int main(){
   vector<vector<int>> matrix = {
      { 2, 2, 2, 2},
      { 5, 5, 5, 5 },
      { 2, 2, 2, 2 },
      {5, 5, 5, 5}
   };
   int size = matrix.size();
   cout<<"Count of rows in a matrix that consist of same element are: "<<same_rows(matrix, size);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of rows in a matrix that consist of same element are: 4


  1. C++ এ একটি ম্যাট্রিক্সে প্রতিটি কলামের সর্বোচ্চ উপাদান খুঁজুন

  2. একটি সংখ্যায় সংখ্যার গণনা খুঁজুন যা সংখ্যাটিকে C++ এ ভাগ করে

  3. C++-এ অ্যারের প্রতিটি উপাদানের সারপাসার কাউন্ট খুঁজুন

  4. C++ প্রোগ্রাম 'k' খুঁজে বের করার জন্য যাতে প্রতিটি অ্যারের উপাদানের সাথে এর মডুলাস একই থাকে