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

모음 검사로 답을 찾는 C++ 코드

<시간/>

문자열 S가 있다고 가정합니다. Amal과 Bimal이 게임을 하고 있습니다. 게임의 규칙은 다음과 같습니다. 처음 플레이하는 사람, 즉 Amal은 형사입니다. 그는 "범죄"를 조사하고 원인을 찾아야 합니다. 그는 대답이 "예" 또는 "아니오"인 모든 질문을 할 수 있습니다. 질문의 마지막 글자가 모음이면 "예", 그렇지 않으면 "아니오"라고 대답합니다. 여기 모음이 있습니다:A, E, I, O, U, Y. 우리는 S를 질문으로 가지고 있고 우리는 답을 찾아야 합니다.

따라서 입력이 S ="대학에 있습니까?"와 같으면 출력은 예가 됩니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

s := "AEIOUYaeiouy"
for initialize i := 0, when i < size of S, update (increase i by 1),
do:
   t := S[i]
   if t is alphabetic, then:
      ans := t
if ans is in s, then:
   return "YES"
Otherwise
   return "NO"

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
string solve(string S){
   string s = "AEIOUYaeiouy";
   char ans;
   for (int i = 0; i < S.size(); i++){
      char t = S[i];
      if (isalpha(t))
         ans = t;
   }
   if (s.find(ans) != -1)
      return "YES";
   else
      return "NO";
}
int main(){
   string S = "Is it in university?";
   cout << solve(S) << endl;
}

입력

"Is it in university?"

출력

YES