Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MahovIV
5 / 6 / 1
Регистрация: 17.09.2013
Сообщений: 337
#1

Преобразование строки в массив цифр - C++

30.01.2014, 22:55. Просмотров 441. Ответов 3
Метки нет (Все метки)

Помогите разобраться с функцией для преобразования строки в массив цифр.
C++
1
2
3
4
5
6
7
8
void readlong (type &vec)
{
    std::string str;
    std::cin >> str;
 
    for (int i = str.size (); i > 0; i--)
        vec.push_back (atoi (str.substr (i - LEN, LEN).c_str()));
}
Объясните, как работает
C++
1
2
3
for (int i = str.size (); i > 0; i--)
        vec.push_back (atoi (str.substr (i - LEN, LEN).c_str()));
}
Функции в цикле по отдельности мне понятны, а вот их работа вместе не понятна.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 22:55     Преобразование строки в массив цифр
Посмотрите здесь:

Преобразование цифр в слова C++
C++ Вводится две строки, состоящие из цифр; из этих цифр составить максимальное число
Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если таких цифр было несколько, распечатать ту, что встречалась первой C++
C++ Строки, копирование всех цифр из одной строки в другую
C++ Среди цифр введенной строки, напечатать ту, которая появлялась более 3 раз. Если таких цифр было несколько, напечатать ту, что встретилась первым
Преобразование из строки юников в массив символов C++
C++ Оператор if и указатель на цикл (ввод цифр и преобразование в буквы)
C++ Преобразование строки символов в массив
C++ Преобразование строки символов в массив
Преобразование цифр в строку C++
C++ Считывание строки в массив цифр
C++ Сформировать массив десятичных цифр числа А. Элементы массива цифр сдвинуть циклически влево на 1 позицию

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
30.01.2014, 23:21     Преобразование строки в массив цифр #2
Цитата Сообщение от MahovIV Посмотреть сообщение
Объясните, как работает
C++
1
2
3
for (int i = str.size (); i > 0; i--)
        vec.push_back (atoi (str.substr (i - LEN, LEN).c_str()));
}
Функции в цикле по отдельности мне понятны, а вот их работа вместе не понятна.
Сначала str.substr (i - LEN, LEN) возвращает подстроку типа string из строки str, начиная с позиции i - LEN, длиной в LEN символов. Далее эта строка преобразовывается в строку в стиле С с помощью функции c_str(), после чего строка в стиле С передается функции atoi, которая преобразовывает ее в тип int. И на последнем этапе, с помощью метода push_back, int - значение добавляется в конец вектора vec.
Fene4ka_
87 / 87 / 16
Регистрация: 24.01.2014
Сообщений: 1,196
30.01.2014, 23:36     Преобразование строки в массив цифр #3
а нельзя ли просто
вектор.push_back(int(строка))
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
30.01.2014, 23:40     Преобразование строки в массив цифр #4
Цитата Сообщение от Fene4ka_ Посмотреть сообщение
а нельзя ли просто
вектор.push_back(int(строка))
Нет, конечно.
Yandex
Объявления
30.01.2014, 23:40     Преобразование строки в массив цифр
Ответ Создать тему
Опции темы

Текущее время: 10:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru