指定された文字がロシア語の母音である場合に true を返す関数を書きたかったのです。しかし、私が得た結果は私にとって奇妙です。これは私がこれまでに得たものです:
#include <iostream>
using namespace std;
bool is_vowel_p(char working_char)
// returns true if the character is a russian vowel
{
string matcher = "аяё×эеуюыи";
if (find(matcher.begin(), matcher.end(), working_char) != matcher.end())
return true;
else
return false;
}
void main()
{
cout << is_vowel_p('е') << endl; // russian vowel
cout << is_vowel_p('Ж') << endl; // russian consonant
cout << is_vowel_p('D') << endl; // latin letter
}
結果は次のとおりです。
1
1
0
私にとって奇妙なこと。私は次の結果を期待していました:
1
0
0
どうやら私がまだ知らない何らかの内部メカニズムがあるようです。最初は、この機能を修正して正しく動作させる方法に興味があります。次に、そこで何が起こっているのか、この結果が得られます。