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

ลบศูนย์นำหน้าออกจากสตริงใน C++


ในโปรแกรมนี้เราจะดูวิธีลบศูนย์นำหน้า (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