Computer >> Máy Tính >  >> Lập trình >> C ++

Mã C ++ để tìm câu trả lời bằng cách kiểm tra nguyên âm

Giả sử chúng ta có một chuỗi S. Amal và Bimal đang chơi một trò chơi. Luật chơi như sau:Những người chơi lần đầu, tức là Amal là thám tử, anh ta nên điều tra một "tội phạm" và tìm ra nguyên nhân. Anh ta có thể hỏi bất kỳ câu hỏi nào mà câu trả lời sẽ là "Có" hoặc "Không". Nếu chữ cái cuối cùng của câu hỏi là một nguyên âm, họ trả lời là "Có", ngược lại là "Không". Ở đây các nguyên âm là:A, E, I, O, U, Y. Chúng ta có S là câu hỏi và chúng ta phải tìm câu trả lời.

Vì vậy, nếu đầu vào giống như S ="Có phải ở trường đại học không?", Thì đầu ra sẽ là Có.

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

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"

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#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;
}

Đầu vào

"Is it in university?"

Đầu ra

YES