У меня есть два char
входа, в алфавитном порядке между a
и h
, и я создал карту между этими персонажами и их естественными таинствами.
char x1, x2;
cin >> x1 >> x2;
map<char, int> cti;
cti['a'] = 1;
cti['b'] = 2;
cti['c'] = 3;
cti['d'] = 4;
cti['e'] = 5;
cti['f'] = 6;
cti['g'] = 7;
cti['h'] = 8;
x1 = cti.find(x1) -> second;
x2 = cti.find(x2) -> second;
cout << x1 << x2;
На входе a b
я ожидал, что 12
будет выходом, но ничего не выводится. Используя другие переменные, кроме самих входных данных, синтаксис, похоже, тоже не работает, поэтому я предполагаю, что find
не принимает переменные в качестве аргумента, но я не совсем уверен, что я сделал неправильно.
Также возможно, что существует более эффективный метод, чем с map
для достижения sh того, чего я хочу достичь sh, и в этом случае я был бы признателен, чтобы его прокомментировать, даже хотя на самом деле это не главный вопрос.