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

Обработка строки - C++

Восстановить пароль Регистрация
 
Nurik897
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 15
12.04.2014, 19:24     Обработка строки #1
Первые 3 сделал, помогите разобраться с остальными:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
#include <string.h>
#include <cstring>
#include <conio.h>
using namespace std;
/*Заданная строка состоит из слов, разделенных одним или несколькими пробелами. Определить:
а) количество слов в строке;
б) количество слов, начинающихся с заданного символа;
в) количество слов, у которых первый и последний символы совпадают;
г) найти первое слово, начинающееся с заданного символа;
д) найти последнее слово, начинающееся с заданного символа;
е) найти все слова, начинающиеся с заданного символа.*/
const int N = 256; //длинна макс.
const char Separator[] = " ,.+_*()-\\\"";///разделители
int CountWords(const char*str)
{
    if (str == NULL) return 1;
    bool inSep = true;
    int numWords = 0;
    while (*str)
    {
        if (strchr(Separator, *str))  inSep = true;
        else if (inSep)
        {
            numWords++;
            inSep = false;
        }
        ++str;
    }
    return numWords;
}
int perv(char text[], int size)//функция для поиска слова с перв и посл.
{
    size = size + 1;
    int first_symbol = 0;
    int sum = 0;
    for (int i = 0; i < size; i++)
    {
        if ((text[i] == ' ') || (i == (size - 1)))
        {
            if (text[first_symbol] == text[i - 1])
                sum++;
            first_symbol = i + 1;
        }
    }
    return sum;
}
int nach(char *S, char l)
{
    int qwe=0;
    for (int i = 0; i<strlen(S); i++)
    {
        if ((S[i] == ' ') && (S[i + 1] == l) || ((i == 0) && (S[i] == l)))
            qwe++;
    }
    return qwe;
}
int main()
{
    setlocale(0, "");
    int i = 0, qwe = 0;
    char *S = new char[N];
    char l; //символ, который будем искать
    cout << "Введите строку: ";
    cin.getline(S, N); 
    //1)
    cout <<"Кол-во слов "<< CountWords(S) << endl;
    //2)
    cout << "Введите символ для поиска: ";
    cin >> l;
    cout << "Кол-во слов с начинающихся с символа : " << nach(S, l) << endl;
    //3)
    cout << "Кол-во слов у которых перв и посл равны: " << perv(S, strlen(S)) << endl;
    //4)
    delete[]S;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2014, 19:24     Обработка строки
Посмотрите здесь:

Обработка строки C++
обработка строки в с++ C++
C++ Обработка символьной строки
Обработка строки C++
Строки обработка C++
C++ Обработка строки
C++ Обработка строки
обработка строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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