文字列の文字カウントを配列のインデックス要素と比較しようとしていますが、問題があります。ユーザ入力は、XXに等しい場合 例えば、出力は次のようになります文字列と配列を比較するC++
XXの位置に配列されていない0
XX 1.
XXはしていない位置に配列しています位置2の配列。
arr[] = {"X", "XX", "XXX"};
string userInput;
cin >> userInput;
for (int i = 0; i < userInput.length(); i++)
{
if (userInput[i] == arr[i])
{
cout << userInput << " is in the array at position " << i << endl;
}
else
{
cout << userInput << " is not in the array at position " << i << endl;
私はこのエラーを受け取り、それを修正する方法がわかりません。私はプログラミングにかなり新しいので、どんな助けも素晴らしいだろう。ありがとうございました。バイナリ表現( 'INT' と '文字列'(別名 'のbasic_string、アロケータ>'))上記アレイを仮定
ごめんなさい。私は持っている:using namespace std;私のコードの始めに。 – Mludbey
@Mludbeyこのような問題を解決する適切なツールは、デバッガを使用することですが、そうする前にStack Overflowで尋ねないようにしてください。 1つ目の行でコードを検査するときに行ったすべての観察を教えてください。また、[**小さなプログラムをデバッグする方法(Eric Lippertによる)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)**]を読んでみてください。あなたの問題を再現する** [MCVE] **を私たちに任せてください。 (これはπάνταῥεῖ™によって提供された個人的なコメントです) –
あなたのプログラムを誤読して翻訳しました。申し訳ありません。最初にタイプのないarr []があります。これは 'string arr []'ですか?もしそうなら、あなたはあなたのものではなく、 'if(userInput == arr [i])'と言うだけでいいです。 –