322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
1

Подсчитать количество слов, содержащих введенный символ

09.10.2014, 06:46. Показов 1719. Ответов 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
#include <iostream>
#include <cstring>
 
 
bool prof(int i, char j[], char m)
{
    while ((j[i+1] != ' ')||(j[i+1] != '\0')||(j[i+1]!=m))               
        i++;
    if (j[i + 1] == m)
        return 0;
    return 1;
}
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    char str[80];
    int l(-1);
    char temp;
    int amt(0);
    
    cin.getline(str, 80);
    cin >> temp;                                           //Вводимый символ
    while (str[l+1] != '\0')
        l++;
    for (int i = 0; i <= l; i++)
    {
        if ((str[i] == temp)&&prof(i,str,temp))
        {
            amt++;
        }
    }
    cout << "Количество слов с " << temp << ":  " << amt;
    system("pause >> void");
    return 0;
}
Когда доходит до выполнения проверки(следующий символ - нулевого байта или пробел или нужный нам символ), цикл не останавливается. В чем может быть дело?

Добавлено через 5 минут
ай блин, не те логические выражения юзал... Можно программу как нить проще написать? с примером
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2014, 06:46
Ответы с готовыми решениями:

Определить количество слов, которые содержат введенный символ
Дана строка из символов латинского алфавита, разделенных одним или несколькими пробелами....

Определить количество слов, которые содержат введенный символ
Доброго времени суток нужна помощь с заданием: Дана строка, состоящая из символов латинского...

Подправьте задачу. (Определить количество слов в строке, которая содержит введенный символ)
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace...

Определить количество слов в строке, содержащих заданный символ
С клавиатуры вводится строка, которая состоит из слов, разделенных одним или несколькими пробелами....

3
Модератор
Эксперт С++
12633 / 10129 / 6099
Регистрация: 18.12.2011
Сообщений: 27,162
09.10.2014, 09:03 2
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
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    char str[80];
    cout<<"Введите букву, которую будем искать, и нажмите Enter:";
    cin.getline(str, 80);
    char c=str[0];
    cout<<"Введите техт, где будем искать\n"
        "строка^Z+Enter - конец ввода:\n";
    int count=0;
    do
    {
        cin>>str;
        if(strchr(str,c)!=NULL)
            count++;
 
    }while(str[0]!=0);
    cout << "Количество слов с " << c << ":  " << count;
    system("pause >> void");
    return 0;
}
0
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
09.10.2014, 09:53 3
кол-во слов а не символов же..
0
79 / 79 / 34
Регистрация: 26.10.2011
Сообщений: 220
09.10.2014, 10:17 4
Вариант с использованием регулярных выражений:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <regex>
#include <string>
 
using namespace std;
 
int main()
{
  char *str = "qwe sadf sdf qw sdf qw acs fda";
  char chr = 'a';
  int cnt = 0 ;
 
  regex expression("([^\\s]+)"); 
  cregex_token_iterator i(str, str+strlen(str), expression);
  cregex_token_iterator end;
 
  for( ; i!=cregex_token_iterator(), i!=end; i++ )
    if( strchr( i->str().c_str(), chr ) ) cnt++;
 
  cout << "Input string: " << str << endl;
  cout << "Number of words with character '" << chr << "': " << cnt << endl;
  system("pause");
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2014, 10:17
Помогаю со студенческими работами здесь

Подсчитать количество слов содержащих букву а.
Дана строка, состоящая из n символов. Группы символов, разделенные пробелами и не содержащие...

Подсчитать количество слов, содержащих заданную букву
Дан текст, подсчитать количество слов, содержащих заданную букву. сделать прогу на с++. помогите...

В потоке символов подсчитать количество слов, содержащих букву ‘а’
В потоке символов сосчитать число слов, содержащих букву ‘а’.

Подсчитать количество слов, содержащих одинаковую группу символов
Подсчитать количество слов, содержащих одинаковую группу символов. int main() { char...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru