কম্পিউটার টিউটোরিয়াল

C++-এ স্ট্রিং অ্যারেতে ইনক্রিজিং অর্ডারে সর্টেড নন কলাম গণনা

আমাদের একই দৈর্ঘ্যের স্ট্রিং অ্যারে দেওয়া আছে। লক্ষ্য হলো কলামগুলো (ম্যাট্রিক্স ভাবে) যেগুলো ইনক্রিজিং অর্ডারে সর্টেড নয়, তাদের কাউন্ট করা। প্রতিটি স্ট্রিংয়ের প্রথম ক্যারেক্টার পরের স্ট্রিংয়ের প্রথম ক্যারেক্টার سے ছোট হলে ইনক্রিজিং, নাহলে কাউন্ট বাড়ানো। একইভাবে সব কলামের জন্য।

ইনপুট

Arr[]= { "abc", "bcd", "def" }

আউটপুট

Count of columns: 0

ব্যাখ্যা: কলাম ১: a

ইনপুট

Arr[]= { "dbd", "faf", "eeg" }

আউটপুট

Count of columns: 2

ব্যাখ্যা: কলাম ১: dg (নয়), কলাম ২: b>a

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

  • char arr[][] স্ট্রিং স্টোর।
  • countCols(char str[3][4], int n, int len) ফাংশন।
  • count=0, col=0।
  • প্রতিটি কলাম j=0 to len-1 এর জন্য str[col][j] > str[col+1][j] বা str[col+1][j] > str[col+2][j] চেক। সত্য হলে count++। (নোট: এখানে শুধু ৩ স্ট্রিং ধরে কোড লিখা হয়েছে)।
  • count রিটার্ন।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

int countCols(char str[3][4], int n, int len){
    int count = 0;
    int col = 0;
    for(int j=0; j str[col+1][j] || str[col+1][j] > str[col+2][j])
            count++;
    }
    return count;
}

int main(){
    char arr[3][4] = {"abc", "daf", "ghi"};
    cout << "\nColumns that are not sorted:" << countCols(arr, 3, 3);
    return 0;
}

আউটপুট

Columns that are not sorted:2
  1. C++-এ অ্যারেতে সব বর্ধমান সাবসিকোয়েন্স গণনা (Count All Increasing Subsequences)

  2. C++-এ সর্টেড বাইনারি অ্যারেতে ১-এর সংখ্যা গণনা (Count 1's in Sorted Binary Array)

  3. C++ তে সর্টেড অ্যারেতে এবসোলিউট ডিস্টিংক্ট কাউন্ট

  4. C++ ক্যারেক্টার কনস্ট্যান্ট (Character Constants) কী?