String อาจมีตัวอักษร ตัวเลข สัญลักษณ์พิเศษ โปรแกรมนี้ลบตัวอักษรที่ไม่ใช่ A-Z, a-z ออก
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
int main() {
char str[100] = "String@123!!";
int i, j;
cout << "String before modification: " << str << endl;
for(i = 0; str[i] != '\0'; ++i) {
while(!( (str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z') || str[i] == '\0') ) {
for(j = i; str[j] != '\0'; ++j) {
str[j] = str[j+1];
}
}
}
cout << "String after modification: " << str;
return 0;
}
ผลลัพธ์
String before modification: String@123!! String after modification: String
อธิบายอัลกอริทึม
for loop วนทุกตัวอักษร while loop เช็คว่าเป็นอักษรหรือไม่ ถ้าไม่ใช่ ให้ inner for loop เลื่อนตัวอักษรขวามาซ้ายทับทับตัวที่ไม่ใช่อักษร (shift left)
for(i = 0; str[i] != '\0'; ++i) {
while(!( (str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z') || str[i] == '\0') ) {
for(j = i; str[j] != '\0'; ++j) {
str[j] = str[j+1];
}
}
}
แสดงผลหลังปรับปรุง:
cout<<"String after modification: "<<str;