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

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

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

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

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

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

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

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

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