เราได้รับสตริงและช่วงค่า ASCII [l, r] งานคือการนับและแสดงอักษรในสตริงที่มีค่า ASCII อยู่ในช่วงที่กำหนด
ตารางค่า ASCII
A-Z: 65-90 | a-z: 97-122
ตัวอย่าง
Input − String str = "point" First = 111, Last = 117 Output − characters in range: p, o, t Count: 3
คำอธิบาย − p(112), o(111), t(116) อยู่ในช่วง [111, 117]
Input − String str = "ABCZXY" First = 65, Last = 70 Output − characters in range: A, B, C Count: 3
คำอธิบาย − A(65), B(66), C(67) อยู่ในช่วง [65, 70]
แนวทางการแก้ปัญหา
- รับสตริงและค่า left, right
- วนลูปตรวจสอบแต่ละตัวอักษร
- ถ้าค่า ASCII อยู่ในช่วง [left, right] ให้เพิ่มตัวนับและแสดงผล
ตัวอย่างโค้ด C++
#include <iostream>
using namespace std;
int countChar(string str, int left, int right) {
int count = 0;
int len = str.length();
for (int i = 0; i < len; i++) {
if (left <= str[i] && str[i] <= right) {
count++;
cout << str[i] << " ";
}
}
return count;
}
int main() {
string str = "tutorialspoint";
int left = 102, right = 111;
cout << "Characters in range: ";
cout << "\nCount: " << countChar(str, left, right);
return 0;
}
ผลลัพธ์
Characters in range: o i l o i n Count: 6
บทความนี้อธิบายวิธีนับและแสดงตัวอักษรในสตริงที่มีค่า ASCII อยู่ในช่วงที่กำหนด โดยตรวจสอบเงื่อนไขแบบตรงไปตรงมาโดยไม่ต้องใช้โครงสร้างข้อมูลเพิ่มเติม