Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

แบ่งสตริงเป็น N ส่วนเท่ากันใน C++

บทนำ

โปรแกรมนี้แบ่งสตริงที่กำหนดให้เป็น N ส่วนที่มีความยาวเท่ากันทุกส่วน หากแบ่งไม่ลงตัวจะแจ้งเตือน

ขั้นตอนการแก้ปัญหา

  1. รับสตริงและค่า N
  2. หาความยาวสตริง
  3. ถ้าความยาว mod N ≠ 0 → แจ้ง "Can't divide string into equal parts"
  4. คำนวณขนาดแต่ละส่วน = ความยาว / N
  5. วนลูปพิมพ์ตัวอักษร ทุกครั้งที่ครบขนาดส่วน → ขึ้นบรรทัดใหม่

ตัวอย่างโค้ด

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

void divideTheString(string str, int n) {
    int str_length = str.size();
    if (str_length % n != 0) {
        cout << "Can't divide string into equal parts" << endl;
        return;
    }
    int part_size = str_length / n;
    for (int i = 0; i < str_length; i++) {
        if (i != 0 && i % part_size == 0) {
            cout << endl;
        }
        cout << str[i];
    }
    cout << endl;
}

int main() {
    string str = "abcdefghij";
    divideTheString(str, 5);
    return 0;
}

ผลลัพธ์

ab
cd
ef
gh
ij

สรุป

โค้ดสั้น กระชับ ใช้ modulus และ integer division ควบคุมการพิมพ์ สามารถปรับให้เก็บผลลัพธ์ใน vector<string> แทนการพิมพ์ตรงได้