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

นับและแสดงอักษรที่ค่า ASCII อยู่ในช่วง [l, r] ใน C++

เราได้รับสตริงและช่วงค่า 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 อยู่ในช่วงที่กำหนด โดยตรวจสอบเงื่อนไขแบบตรงไปตรงมาโดยไม่ต้องใช้โครงสร้างข้อมูลเพิ่มเติม