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

C++에서 주어진 문자열의 모음 쌍을 센다.

<시간/>

우리는 일련의 문자를 받았고 작업은 두 요소를 모두 모음으로 포함하는 쌍의 수를 계산하는 것입니다. 우리가 알고 있듯이 영어 알파벳에는 5개의 모음, 즉 a, i, e, o, u가 있으며 다른 문자는 자음으로 알려져 있습니다.

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

출력 − 주어진 문자열에서 모음 쌍을 센다:2

설명 − 주어진 문자열에서 (t, u), (u, t), (t, o), (o, r), (r, i), (i, a), (a, l ), (l, s), (s, p), (p, o), (o, i), (i, n) 및 (n, t). 따라서 두 요소를 모두 모음으로 사용하는 쌍은 (i, a) 및 (o, i)이므로 모음 쌍의 개수는 2입니다.

입력 - 문자열 str ="학습"

출력 − 주어진 문자열에서 모음 쌍을 센다:1

입력 − 주어진 문자열에서 (l, e), (e, a), (a, r), (r, n), (n, i), (i, n) 및 (n, g ). 따라서 두 요소를 모두 모음으로 사용하는 쌍은 (e, a)이므로 모음 쌍의 개수는 1입니다.

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

  • 문자열형 변수에 문자열 입력

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

  • 모음 쌍의 수를 저장하기 위해 임시 변수 count를 사용합니다.

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

  • 루프 내에서 str[i]가 'a' OR 'i' OR 'e' OR 'o' OR 'u'인지 확인한 다음 str[i+1]이 'a' OR 'i' OR 'e인지 확인합니다. ' OR 'o' OR 'u' 그런 다음 count 값을 1씩 증가

  • 개수 반환

  • 결과 인쇄

예시

#include <bits/stdc++.h>
using namespace std;
int count_pairs(string str, int length){
   int count = 0;
   for(int i=0 ;i<length-1; i++){
      if(str[i]=='a' || str[i]=='i'||str[i]=='e'||str[i]=='o'||str[i]=='u'){
         if(str[i+1]=='a'||str[i+1]=='i'||str[i+1]=='e'||str[i+1]=='o'||str[i+1]=='u'){
            count++;
         }
      }
   }
   return count;
}
int main(){
   string str = "tutorials point";
   int length = str.length();
   cout<<"Count the pairs of vowels in the given string are: "<<count_pairs(str, length);
   return 0;
}

출력

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

Count the pairs of vowels in the given string are: 2