私は2文字の単語で辞書を作ろうとしていますが、あまり成功していません.これが私のコードです:
#include <cstdlib>
#include <iostream>
#include <map>
using namespace std;
int main(int argc, char *argv[]){
map<char*,int> m;
//input 5 two-lengthed words
for (int i=0;i<5;i++){
char s[3];
cin>>s;
s[2] = '\0';
m[s]=1; //add a key
}
//checking if a word exists.
cout<<"Word you want to check whether it exists:"<<endl;
char chck[3];
cin>>chck;
chck[2]='\0';
//I heard this is how you check whether a key exists:
bool exists = m.find(chck)==m.end();
cout<<((exists)?"Yes!":"No.")<<endl;
system("pause"); //Yea, system, I know.
return 0;
}
単語を入力するたびに、単語が辞書に載っているかどうかを確認したいときに、常に「いいえ」と出力されますか? 私はJava
から来たので、ポインタではなく参照に慣れてしまったので、おそらく間違っているところです。地図の正しい使い方を知りたいので、ここで何をすればいいですか?
ありがとう