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

ค้นหาตำแหน่งของตัวอักษรในตัวอักษรโดยใช้การทำงานแบบบิตใน C++


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