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

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

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

Показать сообщение отдельно
WebMacTep
 Аватар для WebMacTep
21 / 21 / 1
Регистрация: 03.10.2013
Сообщений: 128
23.02.2014, 21:18     Разбить строку на слова
Добрый день. Есть массив 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru