C++ Преобразование vector<string> в int

328
13 ноября 2017, 21:14

Добрый вечер. У меня имеется вот такая задачка: Создайте вектор, хранящий десять строковых значений " zero " , " one " , " . , "nine " . Используйте его в программе, преобразующей цифру в соответствующее строковое представление: например, при вводе цифры 7 на экран должна быть выведена строка seven. С помощью этой же программы , используя тот же цикл ввода, преобразуйте строковое представление цифры в числовое: например, при вводе строки seven на экран должна быть выведена цифра 7. Я решил её с помощью оператора switch. Мне интересно было бы узнать: Каким образом можно решить её по другому (без использования операторов), и как преобразовать vector в int. Буду благодарен за информацию)

Answer 1

Вопрос звучит странно. "Без опрераторов" - без каких? Оператор сравнения, например, разрешен? :)

Не менее странно и "как преобразовать вектор в int". В какой int вы хотите преобразовывать весь вектор?

Что же самой задачи, то при наличии

vector<string> vs{"zero","one",...,"nine"};

никакой switch не нужен: для цифры digit надо просто вывести vs[digit] (ну, или если это - символ, то вывести vs[digit-'0']).

Вывести цифру для строки сложнее, тут и в самом нужно что-то типа switch - но поиск с помощью алгоритма find проще и короче:

auto it = find(vs.begin(),vs.end(),digit_string);
if (it == va.end()) 
    cout << "Wrong string\n";
else
    cout << *it << endl;
READ ALSO
XML документация с++ в Visual Studio

XML документация с++ в Visual Studio

Недавно узнал, что /// в Visual Studio используется для создания Xml документацииТакже выяснил можно просматривать описание функций с помощью тега...

256
Разбиение строки на блоки по 4 символа [требует правки]

Разбиение строки на блоки по 4 символа [требует правки]

Разбиение строки Str на отдельные блоки длиной по 4 символа пробеламиСтрока Str вводится с клавиатуры

236
Побитовые операции (С++)

Побитовые операции (С++)

Доброго времени сутокЕсть задача, на побитовые операции

267
Папка .vs весит слишком много Visual Studio 2017

Папка .vs весит слишком много Visual Studio 2017

На сколько я знаю, папка "vs" предназначена для хранения пользовательских настроек проэкта

330