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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.91
wind_mill
1 / 1 / 0
Регистрация: 16.10.2011
Сообщений: 45
26.11.2011, 20:54     разделение строки на слова #1
нужно разбить строку на слова (си)
без использования библиотеки string.h (пользоваться можно только stdio.h)
можно использовать многомерные массивы

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

заранее благодарю !
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SleepMaster
 Аватар для 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
 Аватар для 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++
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     разделение строки на слова
Ответ Создать тему
Опции темы

Текущее время: 03:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru