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

Перевод string в int - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 5.00
zhurbikk
4 / 4 / 0
Регистрация: 14.11.2012
Сообщений: 38
14.11.2012, 18:51     Перевод string в int #1
Доброго времени суток!
Помогите с задачей.
Задана строка strung s с числами (например 2 55 11)
Как считать числа в массив int
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 18:51     Перевод string в int
Посмотрите здесь:

string to int, int to string C++
C++ Int to string
C++ Перевод типов string to int
перевод из string в int и обратно C++
C++ Перевод из int в string
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
14.11.2012, 19:09     Перевод string в int #2
Принцип такой.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <conio.h>
using namespace std;
 
int main(){
    string str = "152";
    for(int i = 0; i < 3; i++){
            cout << str[i] << " ";
            }
    cout << endl << (str[0]-48)+(str[1]-48);
    _getch();
    }
zhurbikk
4 / 4 / 0
Регистрация: 14.11.2012
Сообщений: 38
14.11.2012, 19:40  [ТС]     Перевод string в int #3
Мне нужно сделать int s[]={2, 55, 11};
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.11.2012, 19:40     Перевод string в int #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <sstream>
#include <algorithm>
 
int main()
{
   const std::string s = "1 12 23";
   std::vector<int> v;
   std::istringstream iss(s);
   std::transform(std::istream_iterator<std::string>(iss),
   std::istream_iterator<std::string>(), std::back_inserter(v), 
   [](const std::string& current)
   {
       return std::stoi(current);
   });
   std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, "\n"));
}
http://ideone.com/vFMUZV
zhurbikk
4 / 4 / 0
Регистрация: 14.11.2012
Сообщений: 38
14.11.2012, 19:45  [ТС]     Перевод string в int #5
А попроще задачу можно выполнить?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.11.2012, 19:48     Перевод string в int #6
zhurbikk, Разрешаю. Выполняйте. Правда, это вполне простой и удобный код... В помощь http://cplusplus.com/ http://en.cppreference.com/w/ чтобы понять мой код и переделать под свои нужды.

Алгоритм:
1) Парсим строку, получая несколько строк в каждой из которых лежит число.
2) Переводим получившиеся строки в числа и заполняем массив.
3) Задача решена.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2012, 19:50     Перевод string в int
Еще ссылки по теме:

Функция isspace и тип string: Не существует подходящей функции преобразования из "std::string" в "int" C++
Перевод из int в string C++
C++ Перевод строки string в int посимвольно

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

Или воспользуйтесь поиском по форуму:
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.11.2012, 19:50     Перевод string в int #7
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <sstream>
 
int main()
{
    std::string str = "2 55 11";
    int arr[100500], size = -1;
    for (std::istringstream ist(str); ist >> arr[++size]; );
    for (int i = 0; i < size; ++i)
        std::cout << arr[i] << ' ';
}
Yandex
Объявления
14.11.2012, 19:50     Перевод string в int
Ответ Создать тему
Опции темы

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