Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 54
1

Разбить string на массив слов

10.11.2018, 13:45. Показов 1235. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Перейду к сути вопроса.
Пользователь вводит строку. Задача программы - разбить эту строку на массив слов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
string s1;
getline(cin, s1);
 
string sl1[10]; // 10 - макс количество слов в строке
 
int teknum = 0;
int j = 0;
for (int i = 0; i < s1.length(); i++) {
    if (s1[i] != ' ') {
        sl1[teknum][j] = s1[i];
        j++;
    } else {
        teknum++;
        j = 0;
        }
    }
ввожу строку например "qw rt ui" и получаю ошибку на 10 строке. Что здесь не правильного?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2018, 13:45
Ответы с готовыми решениями:

Читать строку типа string из файла, разбить ее на массив слов типа char
Нужно сделать так что бы строчка вида &quot;&lt;слово1&gt;:&lt;слово2&gt;:&lt;слово3&gt;:&lt;слово4&gt;&quot; , считывалась и каждое...

Использование библиотеки STL , контейнер string. Дан массив слов.Надо удалить все цифры из слов
#include &quot;StdAfx.h&quot; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace...

Разбить строку на массив слов
Как разбить массив символов в отдельный массив по слову?Я вот что-то написал,проде бы правильно,но...

Как разбить строку на массив слов?
Надо разбить строку на массив строк при помощи разделителя... Какой функцией для этого надо...

1
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
10.11.2018, 13:50 2
Лучший ответ Сообщение было отмечено X-TRACK как решение

Решение

Цитата Сообщение от X-TRACK Посмотреть сообщение
string sl1[10];
объявление 10 строк НУЛЕВОЙ длины, у них нет j- го символа
Надо писать
C++
1
sl1[teknum] += s1[i];
Гораздо изящнее будет разбить строку через istringstream
C++
1
2
3
4
5
6
7
8
9
#include <sstream>
...
string s1;
getline(cin, s1);
istringstream sinp(s1);
string sl1[10];
int j=0;
while(sinp>>sl1[j++] && j<10)
   ;// пустой оператор
1
10.11.2018, 13:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2018, 13:50
Помогаю со студенческими работами здесь

Разбить строку на массив слов используя strtok()
Мне нужно разделить строку на массив слов используя функцию strtok(), но получается скопировать...

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

Разбить массив слов на 2 массива слов
Доброго времени суток. Есть файл txt формата, в котором слова представляются в виде {иностранное...

Разбить строку на массив слов
Такой вопрос: У меня есть txt файл с словами. Каждое слово расположено на отдельной строке. Я...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru