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

C++에서 영어 알파벳과 같은 위치에 있는 문자 수 계산

<시간/>

대문자와 소문자를 모두 포함하는 길이의 문자열이 주어지고 영어 알파벳과 같은 위치에 있는 문자의 수를 계산해야 합니다.

Input − String str = eBGD
Output − Count is: 2

설명 − B와 D는 B가 2위, D가 4위이므로 영문 알파벳 순서가 같은 문자입니다.

Input − String str = Abcdeizxy
Output − Count is: 5

설명 − A, B, C, D, E는 영문 알파벳 순서대로 A가 B, C, D, E 순으로 옵니다.

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

  • 대문자와 소문자로 구성된 문자열을 입력하세요.

  • 0에서 size() 함수를 사용하여 계산할 수 있는 문자열 크기까지 루프를 시작합니다.

  • 이제 문자열에 대문자와 소문자가 모두 포함되어 있으므로 'i =str[i] - 'a' OR i =str[i] - 'a' '인지 확인합니다.

  • 이제 임시 변수를 사용하여 루프 외부에서 0으로 초기화하고 루프 내부에서 1로 증가시키기 시작합니다.

  • 값을 temp로 반환

  • 결과를 인쇄하십시오.

#include<iostream>
using namespace std;
int countalphabet(string str){
   int res= 0;
   // Traverse the string
   for (int i = 0 ; i < str.size(); i++){
      // As all uppercase letters are grouped together
      // and lowercase are grouped together so
      // if the difference is equal then they are same
      if (i == (str[i] - 'a') || i == (str[i] - 'A')){
         res++;
      }
   }
   return res;
}
// main function
int main(){
   string str = "aBTutorIalspOiNT";
   cout <<”Count is:”<< countalphabet(str);
   return 0;
}

출력

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

Count is: 2