Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 비트 연산을 사용하여 알파벳에서 문자 위치 찾기

<시간/>

이 문제에서는 영어 알파벳으로 구성된 문자열 str이 제공됩니다. 우리의 임무는 비트 연산을 사용하여 알파벳에서 문자의 위치를 ​​찾는 것입니다.

문제 설명: 여기서는 문자열의 각 문자의 위치를 ​​영어 알파벳 그대로 반환합니다.

문자열의 문자는 대소문자를 구분하지 않습니다. 즉 "t"와 "T"는 동일하게 취급됩니다.

문제를 이해하기 위해 예를 들어 보겠습니다.

입력: str ="튜토리얼 포인트"

출력: 20 21 20 15 18 9 1 12 19 16 15 9 14 20

해결 방법

문자의 위치를 ​​찾는 간단한 솔루션은 31로 논리 AND 연산을 찾는 것입니다.

우리 솔루션의 작동을 설명하는 프로그램,

#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