0 / 0 / 0
Регистрация: 17.12.2016
Сообщений: 1
1

Подсчитать количество слов начинающихся на заданную букву

17.12.2016, 22:06. Показов 8726. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно подсчитать количество слов,начинающихся на К.
Где ошибка?
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
#include <iostream> 
#include <locale.h> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
setlocale(LC_ALL, "Russian");//Позволяет считывать русские символы. 
char s = 0; 
int k = 0; 
cout « "Ввeдите предложение:" « endl; 
cin » s; 
if (s == 'К' || s == 'к' || s == 'К' || s == 'к') 
{ 
k++; 
} 
while (s != '.') 
{ 
cin » s; 
if (s == ' ') 
{ 
cin » s; 
if (s == 'К' || s == 'к' || s == 'К' || s == 'к') 
k++; 
} 
 
} 
cout « "Количество слов,начинающихся на букву К:" « k « endl; 
system("pause"); 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2016, 22:06
Ответы с готовыми решениями:

Строки и файлы: подсчитать количество слов, начинающихся на заданную букву
Считать строку текста из файла. Подсчитать количество слов, начинающихся на заданную букву

Определить в строке количество слов, начинающихся на заданную пользователем букву
Добрый день,нужна помощь с заданием.Помогите пожалуйста,хотя бы куском кода) Задание: &quot;Напишите...

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

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

11
Диссидент
Эксперт C
27709 / 17325 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
17.12.2016, 22:38 2
Цитата Сообщение от kuzja21212 Посмотреть сообщение
«
Что за зверь?
И.
Ставь теги кода, пожалуйста
Где ошибка?
Это ты должен рассказать, в чем она проявляется. Делись информацией и читай правила п.4.7
0
13 / 13 / 10
Регистрация: 23.08.2015
Сообщений: 131
17.12.2016, 22:42 3
Кажется я понял.
C++
1
2
3
4
char s = 0; 
int k = 0; 
cout « "Ввeдите предложение:" « endl; 
cin » s;
Для начала, тебе надо тогда работать со строкой. Тут удобнее и понятнее тебе с char str[100];

Ввод происходит благодаря getline.
т.е.
C++
1
2
3
4
char s[100]; 
int k = 0; 
cout « "Ввeдите предложение:" « endl; 
cin.getline(s, 99);
А дальше в цикле for считывать посимвольно (s[i]), делая проверку пробел это и потом 'K' ли это
0
Диссидент
Эксперт C
27709 / 17325 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
17.12.2016, 22:46 4
neketsh, Может быть тогда вы поясните, что это такое -
Цитата Сообщение от neketsh Посмотреть сообщение
«
?
0
296 / 125 / 106
Регистрация: 30.10.2015
Сообщений: 690
17.12.2016, 22:46 5
Правда я не делал проверку на русские символы.

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
#include <iostream>
#include <string>
 
bool k(std::string &, int index);
 
int main()
{
  int result = 0;
  std::string str;
 
  std::cout << "Enter string: ";
  getline(std::cin, str);
 
  if (k(str, 0)) {
    result++;
  }
 
  for (int i = 1; i < str.length(); i++) {
 
    if (str[i] == ' ') {
      if (k(str, i + 1)) {
        result++;
      }
    }
  }
 
  std::cout << "Rsult: " << result << std::endl;
 
  return 0;
}
 
bool k(std::string & s, int index)
{
  if (s[index] == 'K' || s[index] == 'k') {
    return 1;
  }  
}
0
13 / 13 / 10
Регистрация: 23.08.2015
Сообщений: 131
17.12.2016, 22:48 6
Байт, думаю это: <<
0
Диссидент
Эксперт C
27709 / 17325 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
17.12.2016, 22:49 7
Цитата Сообщение от neketsh Посмотреть сообщение
думаю это: <<
Спасибо!
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
17.12.2016, 22:53 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
    string s {},s1 {};
    int c=0;
    getline(cin,s);
    stringstream ss(s);
    while(getline(ss,s1,' ')) {
        if(tolower(s1.front())=='k') {
            c++;
        }
    }
    cout<<c;
    return 0;
}
0
Модератор
Эксперт С++
13621 / 10845 / 6448
Регистрация: 18.12.2011
Сообщений: 28,914
17.12.2016, 22:53 9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream> 
#include <clocale> 
#include <cstdlib>
#include <string>
using namespace std; 
int main() 
{ 
    setlocale(LC_ALL, "Russian");
    string ss; 
    int k = 0; 
    cout << "Ввeдите текст латиницей (ctrl^Z - в отдельной строке строке для завершения):" << endl; 
    while(cin>>ss) 
    {
        char s=ss[0];
        if (s == 'K' || s == 'k') 
            k++; 
    } 
    cout << "Количество слов,начинающихся на букву К:" << k << endl; 
    system("pause"); 
    return 0;
}
Для кириллицы не сработает, т.к. ввод надо еще перевести в кодировку 1251
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
17.12.2016, 22:55 10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <sstream>
#include <iterator>
#include <algorithm>
using namespace std;
int main() {
    string s {};
    getline(cin,s);
    stringstream ss(s);
    cout<<count_if(istream_iterator<string>(ss),istream_iterator<string>(),[](const string &s2) {
        return tolower(s2.front())=='k';
    });
    return 0;
}
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
17.12.2016, 22:56 11
kuzja21212, вот мой вариант.

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 <string>
 
using namespace std;
 
int main()
{
    int k = 0;
    string s;
    cout << "Введите строку(ENG):" << endl;
    getline(cin, s);
    s = ' ' + s;
    for (int i = 0; s[i]; i++)
    {
    if ((isblank(s[i])) && ((s[i+1] == 'K') || (s[i+1] == 'k')))
    {
    k++;
    }
    }
    cout << "Количество слов на Kk(ENG): " << k << endl;
    system("pause");
    return 0;
}
0
13 / 13 / 10
Регистрация: 23.08.2015
Сообщений: 131
17.12.2016, 23:04 12
Байт,

Не по теме:

сарказм, да? :-[

0
17.12.2016, 23:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2016, 23:04
Помогаю со студенческими работами здесь

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

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

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

Количество слов начинающихся и заканчивающихся на одну и ту же букву
Разработайте программу для поиска количества слов, начинающихся и заканчивающихся на, одну и ту же...


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

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

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