ในปัญหานี้ เราจะได้ string str ที่ประกอบด้วยตัวอักษรภาษาอังกฤษ งานของเราคือ ค้นหาตำแหน่งของตัวอักษรในตัวอักษรโดยใช้การทำงานบิต
คำอธิบายปัญหา: ในที่นี้เราจะคืนค่าตำแหน่งของอักขระแต่ละตัวของสตริงตามที่เป็นตัวอักษรภาษาอังกฤษ
อักขระของสตริงไม่คำนึงถึงขนาดตัวพิมพ์ เช่น "t" และ "T" จะถือว่าเหมือนกัน
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
ป้อนข้อมูล: str =“จุดสอน”
ผลลัพธ์: 20 21 20 15 18 9 1 12 19 16 15 9 14 20
แนวทางการแก้ปัญหา
วิธีแก้ปัญหาง่ายๆ ในการหาตำแหน่งของตัวละครคือการค้นหาตรรกะ AND operation ด้วย 31
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
ตัวอย่าง
#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;
} ผลลัพธ์
The letters position in string TutorialsPoint is 20 21 20 15 18 9 1 12 19 16 15 9 14 20