Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/190: Рейтинг темы: голосов - 190, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 09.02.2017
Сообщений: 7

Как преобразовать строку в массив чисел?

09.02.2017, 20:33. Показов 40620. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
символы вводятся через пробел. Программа сканирует только до пробела и делит цифру на числа.
Как сделать чтобы оно сканировало цифры между пробелами и записывало их в массив?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int *mas;
char b[100];
cin >> b;
int n = strlen(b);
mas = new int[n];
 
for (int i = 0; i<n; i++)
{
    mas[i] = b[i] -48;
}
 
for (int i = 0; i < n; i++)
{
    printf("%3d\n", mas[i]);
}
getch();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.02.2017, 20:33
Ответы с готовыми решениями:

Как преобразовать строку char в массив int?
Дана строка символов S, состоящая из чисел, разделенных пробелами Нужно выделить числа и засунуть их в массив типа int; Как можно это...

Как строку, заполненную числами, преобразовать в числовой массив?
Привет всем. Кто-нибудь знает как строку заполненную числами преобразовать в числовой массив? Сама смогла найти только как с помощью...

Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел
Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел больших исходных на два порядка. Напечатать массивы в два...

7
Модератор
Эксперт С++
 Аватар для zss
13772 / 10965 / 6491
Регистрация: 18.12.2011
Сообщений: 29,242
09.02.2017, 21:49
C++
1
2
3
4
5
6
7
8
string str="12 34 56";
isringstrem ss(str);
int mas[100];
int n=0;
while(ss>>mas[n++])
   ;
for (int i = 0; i < n; i++)
   cout<<mas[i]<<' ';
1
0 / 0 / 0
Регистрация: 09.02.2017
Сообщений: 7
10.02.2017, 12:57  [ТС]

не работает(
0
Модератор
Эксперт С++
 Аватар для zss
13772 / 10965 / 6491
Регистрация: 18.12.2011
Сообщений: 29,242
10.02.2017, 17:57
Цитата Сообщение от Kepp_ Посмотреть сообщение
не работает(
У меня работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include <iostream>
#include <sstream>
using namespace std;
 
int main()
{
 
    string str="12 34 56";
    istringstream ss(str);
    int mas[100];
    int n=0;
    while(ss>>mas[n++])
        ;
    n--;
    for (int i = 0; i < n; i++)
        cout<<mas[i]<<' ';
    system("pause"); 
    return 0;
}
 Комментарий модератора 
И настоятельно напоминаю:
П.5.18.Правил
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
1
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
10.02.2017, 20:08
Так подойдёт?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>
#define MAX 100
 
using namespace std;
 
int main()
{
    ifstream fin("c:\input.txt");
    int a[MAX],j=0;
    string s;
    getline(fin,s);
    for(int i=0;i<s.length();i++)
    {
        if(s[i]>='1' && s[i]<='9')
        {
            a[j]=+s[i]-48;
            j++;
        }
    }
    for(int i=0;i<j;i++)
    {
        cout<<a[i]<<" ";
    }
}
1
0 / 0 / 0
Регистрация: 09.02.2017
Сообщений: 7
11.02.2017, 22:23  [ТС]
Что это за библиотека: #include <bits/stdc++.h> ?

Добавлено через 3 минуты
Работает, спасибо.
А как сделать чтобы строка str вводилась с клавиатуры?
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
11.02.2017, 22:44
Цитата Сообщение от Kepp_ Посмотреть сообщение
Что это за библиотека: #include <bits/stdc++.h> ?
Эта библиотека подключает все библиотеки в C++, т. е. тебе не придётся писать <math.h>, <string> и т. п.
Цитата Сообщение от Kepp_ Посмотреть сообщение
А как сделать чтобы строка str вводилась с клавиатуры?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bits/stdc++.h>
#define MAX 100
using namespace std;
int main()
{
    //ifstream fin("c:\input.txt");
    int a[MAX],j=0;
    string s;
    getline(cin,s);
    for(int i=0;i<s.length();i++)
        if(s[i]>='0' && s[i]<='9')
            a[j]=+s[i]-48,
            j++;
 
    for(int i=0;i<j;i++)
        cout<<a[i]<<" ";
}
1
0 / 0 / 0
Регистрация: 09.02.2017
Сообщений: 7
11.02.2017, 22:48  [ТС]
Все работает, спасибо вам огромное))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2017, 22:48
Помогаю со студенческими работами здесь

Массив строк преобразовать в строку
как преобразовать массив строк в строку через разделитель, то есть дано: &quot;строка1&quot; &quot;строка2&quot; &quot;строка3&quot; а нужно...

Преобразовать массив символов в строку
Правильна ли запись в strs , нужно что бы значения переменных последовательно были записаны в strs для получения примерно такой строки...

ПреобразоваТЬ строку символов в массив
#include &lt;cstdio&gt; #include &lt;cctype&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; #include &quot;QTime&quot; void stuToArr(char s, int ar,...

Как правильно преобразовать строку символов в строку типа CComBSTR?
Как правильно преобразовать строку символов (например заданную как char p)в строку типа CComBSTR?

Преобразовать сроку чисел CHAR в массив чисел типа int
Помогите реализовать идею... Прегнать введённую сроку чисел char в массив int ... чтоб элемент char str соответсвовал int mas.... ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru