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

C++의 영어 알파벳과 같은 거리에 있는 문자 쌍의 수

<시간/>

우리에게 문자열이 주어지고 영어 알파벳에서와 같은 거리에 있는 쌍을 갖는 문자 쌍의 수를 계산하는 작업입니다.

입력 − string str ='튜토리얼 포인트'

출력 − 영어 알파벳과 같은 거리에 있는 문자 쌍의 수는 다음과 같습니다. 5

설명 − 영문자와 같은 거리의 문자 쌍은 (u, t), (u, r), (t, r), (i, o) 및 (s, n)입니다. 따라서 총 5쌍이 있습니다.

입력 − string str ='배우는 것이 최고의 습관입니다'

출력 − 영어 알파벳과 같은 거리에 있는 문자 쌍의 수는 다음과 같습니다. 12

설명 - 영문과 같은 거리의 문자쌍은 (r, i), (r, h), (n, i), (n, b), (i, g), (n, t), (g) , i), (i, b), (s, h), (h, t), (s, t) 및 (a, b). 따라서 총 12개의 쌍이 있습니다.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 문자열을 입력하고 데이터를 함수에 전달

  • 형성할 수 있는 쌍의 총계를 저장하기 위해 임시 변수 개수를 가져옵니다.

  • length() 함수를 사용하여 문자열의 길이 계산

  • 문자열 길이까지 i에서 0까지 FOR 루프 시작

  • 루프 내에서 문자열 길이까지 j에서 i+1까지 FOR 또 다른 루프 시작

  • 루프 내에서 temp를 abs(str[i] - str[j])

    로 설정합니다.
  • IF temp =abs(i-j) 를 확인한 다음 카운트를 1 증가시킵니다.

  • 반품 횟수

  • 결과를 인쇄하십시오.

예시

#include <bits/stdc++.h>
using namespace std;
int pairs_distance(string str){
   int count = 0;
   int len = str.length();
   for (int i = 0; i < len; i++){
      for (int j = i + 1; j < len; j++){
         int temp = abs(str[i] - str[j]);
         if (temp == abs(i - j)){
            count++;
         }
      }
   }
   return count;
}
int main(){
   string str = "Tutorials Point";
   cout<<"Count of character pairs at same distance as in English alphabets are: "<<pairs_distance(str);
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Count of character pairs at same distance as in English alphabets are: 5