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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.91
wind_mill
1 / 1 / 0
Регистрация: 16.10.2011
Сообщений: 45
#1

разделение строки на слова - C++

26.11.2011, 20:54. Просмотров 4199. Ответов 22
Метки нет (Все метки)

нужно разбить строку на слова (си)
без использования библиотеки string.h (пользоваться можно только stdio.h)
можно использовать многомерные массивы

подкиньте идею как реализовать\алгоритм

заранее благодарю !
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2011, 20:54     разделение строки на слова
Посмотрите здесь:

Разделение строки на слова - C++
Подскажите пожалуйста, как разделить строку на отдельные слова. Заранее спасибо.

Разделение строки на слова - C++
Текст в файле содержит числа, которые записаны в восьмеричной системе счисления. Преобразовать эти числа в десятичную систему счисления и...

Символьные строки. Разделение на слова - C++
Помогите написать прогу. Не могу разобраться, какие команды применить. Так же нужно использовать отдельно функцию. В Файле находится...

Разделение строки на отдельные слова [С++] - C++
Надо разделить строку на отдельные слова. Использовать strtok() нельзя.

С++, MFC, разделение строки типа CString на слова - C++
Есть три списка ListBox и одно поле редактирования EditBox. В EditBox вводится информация в формате «Фамилия Имя Отчество». По завершении...

Разделение строки типа String на отдельные слова с разделяющим символом - C++
Подскажите пожалуйста, как строку с n-ым количеством слов разделённых символом точка запятой разделить и поместить предположим в массив

Разделение слова на буквы - C++
Всем доброго времени суток. У меня возник вопрос. Допустим у есть переменная X типа string, в которую записано слово, "Code". Как мне...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SleepMaster
40 / 40 / 1
Регистрация: 26.11.2011
Сообщений: 80
27.11.2011, 01:33     разделение строки на слова #21
Для проверки на разделитель используйте функцию isspace(char) из библиотеки <cstring>.
т.е код
C++
1
2
        for(int a=0; str[a]!='\0'; a++)
                LEN=a;
замените на
C++
1
2
        for(int a=0; !isspace(s[a]); a++)
                LEN=a;
ну и дальше по аналогии.
Потому что isspace обрабатывает не только пробелы, но и знаки пропуска строки, табуляции, и прочее.
ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
27.11.2011, 02:20     разделение строки на слова #22
Цитата Сообщение от wind_mill Посмотреть сообщение
можно по подробней (чайник )
C++
1
2
3
4
5
6
7
8
9
void func (char *Str)
{
    // void, char* - в зависимости что тебе нужно.
    //Твой код, например здесь считаешь длину этого слова или что тебе нужно.
    
}
 
// в main передаешь в твою фу-цию tempSlova
func(tempSlova);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 00:55     разделение строки на слова
Еще ссылки по теме:

Разделение произвольного текста на слова - C++
Пытаюсь разделить произвольный текст на отдельные слова. И присвоить каждое слово элементу структуры. Но когда программа проходит первую...

Токенизация, разделение текста на слова - C++
Здравствуйте, по заданию необходимо 1.Прочитать текст из первого файла. 2.Выделить словоформы и вписать их в отдельный двумерный...

Разделение строки - C++
Здравствуйте, вопросик такой есть: Допустим, есть строка: &quot;/TEXT parameters from text&quot; и сама суть вопроса: Как заменить первый символ...

Разделение строки - C++
Доброго времени суток! Помогите написать разделение строки. Вводимые данные: число от 0 - 99. Нужно разбить на 2 числа. То есть например:...

Разделение строки - C++
Здравствуйте, помогите пожалуйста с заданием. Требуется разделить строку на предложение, предложения на слова, а затем вывести с каждого...


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

Или воспользуйтесь поиском по форуму:
wind_mill
1 / 1 / 0
Регистрация: 16.10.2011
Сообщений: 45
28.11.2011, 00:55  [ТС]     разделение строки на слова #23
вот код программы, рабочий

задача:
ввести строку и слово, вывести измененную строку, которая не содержит этого слова

код:
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
32
33
34
35
36
37
38
39
40
41
// Ввести строку и слово, удалить все вхождения слова и вывести строку
 
#include <conio.h> // для getch()
#include <stdio.h>
 
void main (void)
{
    char *stringPtr=new char[100];
    char *wordsPtr=new char[100];
    char s[100];
    char word[100];
    puts("Enter string:");
    gets(stringPtr);
    puts("\nEnter word:");
    gets(word);
    puts("\nThe resulting string:");
 
    for(int i=0, k=0; i<=100; i++, k++)
    {
        if(stringPtr[i]==' ' || stringPtr[i]=='\0')
        {
            wordsPtr[k]='\0';
            for(int j=0; j<=k; j++)
                s[j]=wordsPtr[j];
            for(int u=0; u<=k; u++)
            {
                if(s[u]!=word[u])
                {
                    printf("%s\t", s);
                break;
                }
            }
            for(int z=0; z<=k; z++)
                s[z]=0;
            k=-1;
        }
        else
            wordsPtr[k]=stringPtr[i];
    }
    getch();
}
Добавлено через 3 минуты
спасибо за помощь )
Yandex
Объявления
28.11.2011, 00:55     разделение строки на слова
Ответ Создать тему
Опции темы

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