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

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

15.06.2015, 22:18. Показов 4268. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан текст произвольной длины, оканчивающий точкой. Текст состоит из слов, разделенных проблемами. Подсчитать:
Количество слов, начинающихся с буквы К.
Программу я написал, но осталось сделать цикл с параметром. Суть его такова:
Пока не будет принята точка, он все обрабатывает. Потом, как принялась буква К - в переменную типа boolean записывает 1.
И если после этого будет принят пробел, он прибавляет единицу в счетчике.

Наработки по коду:
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 <stdio.h>
#include <conio.h>
 
void main()
{
            clrscr();
            int num=0;
            char temp, prev;
            
            do{
                 temp = getchar();
                 prev = temp;
                 if(prev == 'k'){
                        temp = getchar();
                        if(prev == 'k" && temp == ' ' || prev == 'K' && remp == ' ")
                        num++;
                        }
                  }while(temp !='.');
 
                   printf("Words with 'K' = %d", num);
                   printf("\nPress any key!");
                   getch();
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2015, 22:18
Ответы с готовыми решениями:

Строка, введенная пользователем, состоит из слов, разделенных запятой. Подсчитать и вывести на экран количество введенных слов
Задание: Строка, введенная пользователем, состоит из слов, разделенных запятой. Подсчитать и...

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

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

Подсчитать количество пар слов, разделенных двумя пробелами
Вводится строка. Подсчитать количество пар слов, разделенных двумя пробелами. P. S. Я знаю, что...

4
55 / 55 / 39
Регистрация: 19.03.2015
Сообщений: 167
16.06.2015, 02:57 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
 
int main (void)
{
    char ch;
    char prev = ' ';
    int count = 0;
    do{
        ch = getchar();
        if((ch == 'k' || ch == 'K') && (prev == ' ' || prev == '\n')){
            count++;
        }
        prev = ch;
    } while(ch != '.');
 
    printf("Words with 'K' = %d", count);
    printf("\nPress any key!");
    getch();
    return 0;
}
0
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 2
16.06.2015, 21:04  [ТС] 3
Огромнейшее вам спасибо!
0
1 / 1 / 0
Регистрация: 27.07.2017
Сообщений: 14
27.07.2017, 21:48 4
Здравствуйте, а этот код можно на С++ сделать, я пробовал и не получается.
[CPP]
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
#include <iostream>
#include <conio.h>
#include <cstdio>
 
using std::ostream;
using std::cout;
using std::cin;
using std::endl;
int main(void)
{
    char ch;
    char prev = ' ';
    int count = 0;
    do {
        ch = getchar();
        if ((ch == 'k' || ch == 'K') && (prev == ' ' || prev == '\n')) {
            count++;
        }
        prev = ch;
    } while (ch != '.');
 
    cout<<("Words with 'K' = %d", count)<<endl;
    cout<<("\nPress any key!")<<endl;
    cin.get();
    return 0;
}
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
28.07.2017, 00:52 5
Цитата Сообщение от степка98 Посмотреть сообщение
а этот код можно на С++ сделать
C++ в другом разделе, в следующий раз лучше там спрашивайте.
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
#include <iostream>
#include <cctype>
 
const int BUF_SIZE = 256;
const char START_LETTER = 'K';
 
int main() {
    char buf[BUF_SIZE];
    
    while ( std::cout << "String: " && std::cin.getline(buf, BUF_SIZE) && *buf ) {
        int count = 0;
        bool inword = false;
        
        for ( char * p = buf; *p; ++p ) {
            switch ( *p ) {
                case ' ' :
                case '\t':
                case '.' :
                case '!' :
                case '?' :
                case ',' :
                    inword = false;
                    break;
                default :
                    count += ( ! inword && toupper(*p) == START_LETTER );
                    inword = true;
                    break;
            }
        }
        
        std::cout << count << " words starts with letter " << START_LETTER << std::endl;
    }
    
    return 0;
}
1
28.07.2017, 00:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2017, 00:52
Помогаю со студенческими работами здесь

Дан текст, который состоит из слов. Слова в тексте отделяются одно от другого символом *. Подсчитать количество слов
Дан текст, который состоит из слов. Слова в тексте отделяются одно от другого символом *....

Подсчитать количество слов в предложении (слово – это набор символов, разделённых пробелами)
Подсчитать количество слов в предложении (слово – это набор символов, разделённых пробелами).

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

Дан текст из слов, разделенных пробелами. Найти самое длинное слова фразы и проверить, можно ли из букв этого слов
Помогите написать программу: Дан текст из слов, разделенных пробелами. Найти самое длинное слова...


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

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

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