ในปัญหานี้ เราจะได้ 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