Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm vị trí chữ cái trong bảng chữ cái bằng phép bit trong C++


Cho chuỗi str chứa chữ cái tiếng Anh. Nhiệm vụ: tìm vị trí của mỗi chữ cái trong bảng chữ cái bằng phép toán bit.

Mô tả: Trả về vị trí của từng ký tự (A=1, B=2...). Không phân biệt chữ hoa/thường.

Ví dụ:

Đầu vào: str = "Tutorialspoint"

Đầu ra: 20 21 20 15 18 9 1 12 19 16 15 9 14 20

Phương pháp giải

Dùng phép AND bitwise với 31 (0b11111) để lấy 5 bit thấp của mã ASCII, cho ra vị trí 1-26.

Chương trình minh họa

Ví dụ

#include <iostream>
using namespace std;

void findLetterPosition(string str, int n) {
    for (int i = 0; i < n; i++) {
        cout << (str[i] & 31) << " ";
    }
}

int main() {
    string str = "TutorialsPoint";
    int n = str.length();
    cout << "The letters position in string " << str << " is \n";
    findLetterPosition(str, n);
    return 0;
}

Kết quả

The letters position in string TutorialsPoint is 20 21 20 15 18 9 1 12 19 16 15 9 14 20