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

C++-এ শেষ N লাইন প্রিন্ট করার প্রোগ্রাম

এই টিউটোরিয়ালে আমরা শেষ N লাইন প্রিন্ট করার একটি প্রোগ্রাম নিয়ে আলোচনা করব।

এখানে একটি স্ট্রিং দেওয়া থাকবে যাতে নতুন লাইন ক্যারেক্টার আছে পরবর্তী লাইন শুরু বোঝাতে এবং শেষ থেকে প্রিন্ট করার লাইন সংখ্যা। আমাদের কাজ হল শেষ থেকে শুরু করে শেষ থেকে N লাইন গুনে প্রিন্ট করা।

উদাহরণ

#include <bits/stdc++.h> 
using namespace std; 
#define DELIM '\n' 
// শেষ N লাইন প্রিন্ট 
void print_last_lines(char* str, int n) { 
    if (n <= 0) 
        return; 
    size_t cnt = 0; // লাইন সংখ্যা সংরক্ষণ 
    char* target_pos = NULL; 
    // শেষ লাইনের প্রাথমিক পজিশন খুঁজে বের 
    target_pos = strrchr(str, DELIM); 
    if (target_pos == NULL) { 
        cout << "Given string is a single line string"; 
        return; 
    } 
    // ১ম লাইনের শুরু পজিশনে যাওয়া 
    while (cnt < n) { 
        // পরবর্তী লাইনগুলোতে যাওয়া 
        while (str < target_pos && *target_pos != DELIM) 
            --target_pos; 
        if (*target_pos == DELIM) 
            --target_pos, ++cnt; 
        // যদি স্ট্রিং-এ ১০ এর কম লাইন হয় তবে ব্রেক 
        else 
            break; 
    } 
    if (str < target_pos) 
        target_pos += 2; 
    cout << target_pos << endl; 
} 
int main(void) { 
    char* str1 = "str1\nstr2\nstr3\nstr4\nstr5\nstr6\nstr7\nstr8\nstr9" 
                 "\nstr10\nstr11\nstr12\nstr13\nstr14\nstr15\nstr16\nstr17" 
                 "\nstr18\nstr19\nstr20\nstr21\nstr22\nstr23\nstr24\nstr25"; 
    print_last_lines(str1, 14); 
    return 0; 
}

আউটপুট

str12 str13 str14 str15 str16 str17 str18 str19 str20 str21 str22 str23 str24 str25
  1. দুটি রেখার ছেদবিন্দু খুঁজে বের করার জন্য C++ প্রোগ্রাম

  2. C++-এ ডায়ামন্ড শেপ (Diamond Shape) প্রিন্ট করা

  3. C++ প্রোগ্রাম: হ্যাপি বার্থডে প্রিন্ট করা

  4. C++ প্রোগ্রাম: ইউজার ইনপুট নেওয়া এবং প্রিন্ট করা (cin/cout)