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

স্ট্রিং লিখতে লাইন সংখ্যা গণনা C++-এ

একটি স্ট্রিং এবং প্রতিটি অক্ষরের প্রস্থ (width) দেওয়া থাকলে, ১০ ইউনিট প্রস্থের লাইনে স্ট্রিংটি লিখতে কত লাইন লাগবে এবং শেষ লাইনে কত প্রস্থ থাকবে তা বের করতে হবে।

উদাহরণ

স্ট্রিং: "ababababab"

প্রস্থ: a=2, b=1, c=3, বাকি=1

লাইন ১: ababab (২+১+২+১+২+১=৯)

লাইন ২: abab (২+১+২+১=৬)

আউটপুট: লাইন=2, অবশিষ্ট প্রস্থ=6

অ্যালগরিদম

  1. lines = 0, currentWidth = 0 ইনিশিয়ালাইজ করুন।
  2. প্রতিটি ক্যারেক্টারের জন্য:
    • প্রস্থ যোগ করুন।
    • যদি currentWidth >= 10 হয়, তবে lines++ এবং currentWidth = currentCharWidth।
  3. ফলাফল প্রিন্ট করুন।

C++ কোড উদাহরণ

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

void numberOfLines(string str, int widths[]) {
    int lines = 0;
    int remain = 0;
    
    for (char c : str) {
        int w = widths[c - 'a'];
        remain += w;
        if (remain >= 10) {
            lines++;
            remain = w;
        }
    }
    
    cout << "Lines: " << lines << endl;
    cout << "Remaining width: " << remain;
}

int main() {
    string str = "abcdefghijklmnop";
    int widths[] = {2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,2,1,1,1,1};
    numberOfLines(str, widths);
    return 0;
}

ইনপুট

"abcdefghijklmnop", widths[26]

আউটপুট

Lines: 3
Remaining width: 1
  1. একই স্ট্রিং পাওয়ার জন্য ন্যূনতম রোটেশন C++-তে

  2. অ্যালফাবেটিক্যাল অর্ডারে সাবস্ট্রিং গণনা করা (C++)

  3. সি++ প্রোগ্রাম: দিয়ে থাকা স্ট্রিং-এ "1(0+)1" প্যাটার্নের সব.matches খুঁজে বের করা

  4. C++ প্রোগ্রাম: স্ট্রিংয়ের পারমুটেশন সংখ্যা বের করা