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

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

Войти
Регистрация
Восстановить пароль
 
klaod
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 18
#1

Преобразование типов - как строку чисел перевести в целочисленный массив ? - C++

15.03.2014, 12:07. Просмотров 676. Ответов 1
Метки нет (Все метки)

Как строку чисел например 1343245 перевести в интовый масив.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2014, 12:07     Преобразование типов - как строку чисел перевести в целочисленный массив ?
Посмотрите здесь:
C++ Строковые потоки. Преобразование типов (как сделать чтобы из строки число полностью преобразовывалось в double без потери чисел)
Как заполнить целочисленный массив введя с клавиатуры строчку из чисел C++
Как перевести массив в строку? C++
Преобразование типов (long -> массив char) C++
Деления двух чисел используя явное преобразование типов C++
C++ Преобразование типов, как понять фразу из учебника
C++ Как осуществляется преобразование типов (для чего)?
C++ Как запретить преобразование типов при использовании cin
C++ Определить, сколько различных чисел содержит целочисленный массив
Как преобразовать строку в массив чисел? C++
C++ преобразование целых чисел в символьную строку
C++ Преобразование строки в массив, массива в строку

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16694 / 6620 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
15.03.2014, 12:55     Преобразование типов - как строку чисел перевести в целочисленный массив ? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstring>
 
int main(int argc, char *argv[])
{
    const char *s_numbers = "1343245";
    size_t len = strlen(s_numbers);
    int numbers[len];
 
    for(size_t i = 0; i < len; ++i)
        std::cout << (numbers[i] = s_numbers[i] - 48) << ' ';
 
    return 0;
}
Или так, например
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main(int argc, char *argv[])
{
    std::string s_numbers = "1343245";
    int *numbers = new int[s_numbers.size()];
 
    for ( std::string::iterator it = s_numbers.begin(); it != s_numbers.end(); ++it, ++*numbers)
        std::cout << (*numbers = *it - 48) << ' ';
 
    delete numbers;
 
    return 0;
}
Конечно, помимо этих есть еще масса других вариантов
Ответ Создать тему
Опции темы

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