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

Разбить строку на слова - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Способ создания экземпляра класса http://www.cyberforum.ru/cpp-beginners/thread1103708.html
Ниже в скрипте отметила два варианта. В чужих скриптах встречаю оба время от времени. Интересно, в чем принципиальное различие и как вернее. #include <iostream> using namespace std; class A {...
C++ Сортировка массива структур Есть массив структур, где вводятся фио, город проживания и балл. Нужно отсортировать массив структур по баллу. Используется сортировка qsort. Возникли ошибки, не могу понять как исправить. Хелп... http://www.cyberforum.ru/cpp-beginners/thread1103692.html
C++ Работа с матрицей (в матрице найти первую по очереди строку с максимальной суммой элементов)
Помогите пожалуйста с задаче. С матрицы получить компоненты вектора X = (Xi). А именно : в матрице найти первую по очереди строку с максимальной суммой элементов. Вектор X получить из найденной...
В слове переставить буквы у обратном порядке алфавит C++
В слове "Е Л Е К Т Р О Н И К А" переставить буквы у обратном порядке алфавита.... не пойму как реализовать...
C++ Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC http://www.cyberforum.ru/cpp-beginners/thread1103676.html
Программа толком не написан, проверял ранд и возникли проблемы. Ф-ция ранд генерирует одно и тоже число, но если убрать srand(time(0));, то вылетает ошибка Необработанное исключение по адресу...
C++ Как дозаписать элемент в list Имеется структура : struct InverseIndex { int NumberOfWorld;//Номер слова string Word; //само слово set <int> SetOfDocuments;//список документов, где встречалось слово }; и list этих... подробнее

Показать сообщение отдельно
WebMacTep
21 / 21 / 1
Регистрация: 03.10.2013
Сообщений: 128

Разбить строку на слова - C++

23.02.2014, 21:18. Просмотров 673. Ответов 6
Метки (Все метки)

Добрый день. Есть массив char (say), в него вводят строку (два-три слова) с пробелами и без пробела в конце. Цикл разбивает её на отдельные слова. Мой вопрос вот в чём: почему если в конце пробела нет, то выводится какая-то ерунда на третьей строке, если слова всего два? Если пробел в конце, тогда всё работает как часы. Подскажите, кто чем может. Код, конечно, под спойлером.

Код
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
25
26
27
28
29
30
31
#include <iostream>
#include <cstdio>
 
using namespace std;
 
int main()
{
    char say[256];
    char word[80];
    gets(say);
 
    int i = 0;
    int q = 0;
 
    while (say[i])
    {
        for (q, i; (say[i] != ' ') and (say[i]); q++, i++)
        {
            word[q] = say[i];
        }
 
 
        word[q] = '\0';
        puts(word);
 
        i++;
        q = 0;
    }
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru