บทนำ
โปรแกรมนี้แบ่งสตริงที่กำหนดให้เป็น N ส่วนที่มีความยาวเท่ากันทุกส่วน หากแบ่งไม่ลงตัวจะแจ้งเตือน
ขั้นตอนการแก้ปัญหา
- รับสตริงและค่า N
- หาความยาวสตริง
- ถ้าความยาว mod N ≠ 0 → แจ้ง "Can't divide string into equal parts"
- คำนวณขนาดแต่ละส่วน = ความยาว / N
- วนลูปพิมพ์ตัวอักษร ทุกครั้งที่ครบขนาดส่วน → ขึ้นบรรทัดใหม่
ตัวอย่างโค้ด
#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> แทนการพิมพ์ตรงได้