ভূমিকা
একটি NxM ম্যাট্রিক্স দেওয়া থাকলে, প্রতিটি কলামে কতগুলো শূন্য (০) আছে সেটি গুনে কলামগুলোকে শূন্যের সংখ্যা অনুযায়ী সর্ট করতে হবে। কলাম নম্বর ১-ভিত্তিক (1-indexed) বিবেচনা করা হয়।
উদাহরণ
ইনপুট: 0 0 0 1 1 1 1 0 1 কলাম ১: ১টি শূন্য, কলাম ২: ০টি, কলাম ৩: ২টি আউটপুট: 1 3 2
এলগরিদম
void sorting(int arr[row][col]) শুরু vector> count_zero প্রতিটি কলাম i এর জন্য: count = 0 প্রতিটি সারি j এর জন্য: যদি arr[j][i] == 0 হয়: count++ count_zero.push_back({count, i}) count_zero সর্ট করুন (শূন্যের সংখ্যা অনুযায়ী) সর্ট করা পেয়ারের সেকেন্ড ভ্যালু + 1 প্রিন্ট করুন (১-ভিত্তিক ইন্ডেক্স) শেষ
C++ প্রোগ্রাম উদাহরণ
#include#define ROW 3 #define COL 3 using namespace std; void sorting(int arr[ROW][COL]) { vector > count_zero; for (int i = 0; i < COL; i++) { int count = 0; for (int j = 0; j < ROW; j++) if (arr[j][i] == 0) count++; count_zero.push_back({count, i}); } sort(count_zero.begin(), count_zero.end()); for (int i = 0; i < COL; i++) cout << count_zero[i].second + 1 << " "; } int main() { int array[ROW][COL] = {{0,0,0}, {1,1,1}, {1,0,1}}; cout << "Sorted order of zeroes count is: "; sorting(array); return 0; }
আউটপুট
Sorted order of zeroes count is: 1 3 2