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

Дана строка, содержащая англ. текст - C++

Восстановить пароль Регистрация
 
Zubra
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 11
13.07.2012, 17:07     Дана строка, содержащая англ. текст #1
Дана строка, содержащая англ. текст. Найти количество слов, начинающихся с буквы B.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2012, 17:07     Дана строка, содержащая англ. текст
Посмотрите здесь:

Дана строка содержащая английский текст. Найти количество слов, начинающихся с буквы b C++
Дана строка, содержащая текст на русском языке C++
Дана строка, содержащая текст. Вывести все слова, повторяющиеся более трех раз. C++
C++ Дана строка, содержащая текст. Найти длину самого короткого слова.
C++ Дана строка содержащая текст. Выяснить, входит ли данное слово в указанный текст, и если да, то сколько раз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
13.07.2012, 19:04     Дана строка, содержащая англ. текст #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#define COND(c) ((c) == 'B' || (c) == 'b')
 
int main() {
    char c, b = 1;
    unsigned count = 0;
    while ((c = getchar()) != '\n') {
        if (c == ' ' || c == '\t' || c == '.' || c == '?' || c == '!')
            b = 1;
        else if (b) {
            if (COND(c))
                count++;
            b = 0;
        }
    }
    printf("%d", count);
}
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
13.07.2012, 19:22     Дана строка, содержащая англ. текст #3
Можно ещё так с помощью strtok
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> 
using namespace std; 
int main() 
{ 
    char str[] = "Barcelona Real Bayern Lazio Borussia "; 
    char* ptr;  
    int count  = 0; 
 
    ptr = strtok(str, " "); 
 
    while(ptr!= NULL) 
    { 
        if (ptr[0] == 'B') 
            count++; 
        ptr = strtok (NULL, " ");  
    } 
    cout << count << endl;
}
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
13.07.2012, 20:00     Дана строка, содержащая англ. текст #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 <cctype>
using namespace std; 
 
int main() 
{ 
    char str[] = "<<<<Because this function template is used as a primitive operation By !!!!!"; 
 
    int len  = strlen ( str ), count = 0, i = 0; 
 
    if ( str[ 0 ] == 'B' ) count++;
 
    for ( i = 0; i < len ; i++ ) 
    { 
        if ( ( !isalpha( str[ i ] ) )    &&
             ( str[ i + 1 ] == 'B' ) )
        
            count++;          
    } 
 
    cout << count << endl;
 
}
-=ЮрА=-
Заблокирован
Автор FAQ
14.07.2012, 00:11     Дана строка, содержащая англ. текст #5
Цитата Сообщение от Zubra Посмотреть сообщение
Дана строка, содержащая англ. текст. Найти количество слов, начинающихся с буквы B.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <string>
#include <sstream>  //stringstream
#include <iostream> //i\o
using namespace std;
 
int main()
{
    char text[1024] = {0};//ГЃГіГґГґГҐГ° äëÿ ââîäèìîãî ГІГҐГЄГ±ГІГ*
    cout<<"Enter text : ";cin.getline(text,1023);
    stringstream ss(text);//ÑîçäГ*ВёГ¬ ñòðîêîâûé ïîòîê
    string word;//Áóäåò ñîäåðæГ*ГІГј ГІГҐГЄГіГ№ГҐГҐ ñëîâî Гў ñòðîêå
    int nCount = 0;//Áóäåò ñîäæåðæГ*ГІГј ÷èñëî âñòðåòèâøèõñÿ ñëîâ Г*Г* B
    while(ss>>word)
    {
        if(word[0] == 'B')
            nCount = nCount + 1;
    }
    cout<<"Text contain : "<<nCount<<" words on B\n";
    system("pause");
    return 0;
}
Миниатюры
Дана строка, содержащая англ. текст  
Yandex
Объявления
14.07.2012, 00:11     Дана строка, содержащая англ. текст
Ответ Создать тему
Опции темы

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