ในโปรแกรมนี้เราจะดูวิธีลบศูนย์นำหน้า (leading zeros) ออกจากสตริงใน C++ บางครั้งสตริงอาจมีศูนย์นำหน้าหลายตัว เช่น "00023054" หลังจากรันโปรแกรมจะได้ "23054" เท่านั้น ศูนย์หน้าสุดจะถูกลบออก
Input: สตริงมีศูนย์นำหน้า "000023500124" Output: "23500124"
อัลกอริทึม
ขั้นตอน 1: รับสตริง ขั้นตอน 2: นับจำนวนศูนย์นำหน้า n ขั้นตอน 3: ลบ n ตัวอักษรจากจุดเริ่มต้น ขั้นตอน 4: คืนค่าสตริงที่เหลือ
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
main() {
string my_str = "000023500124";
int num = 0;
cout << "Number with Trailing Zeros :" << my_str << endl;
// นับจำนวนศูนย์นำหน้าในสตริง
while(my_str[num] == '0') {
num++;
}
my_str.erase(0, num); // ลบตัวอักษรจาก 0 ถึง i index
cout << "Number without Trailing Zeros :" << my_str;
}
ผลลัพธ์
Number with Trailing Zeros :000023500124 Number without Trailing Zeros :23500124