C/C++

Задан текст. Определить, сколько слов начинается на заданную букву.

#include <iostream>
#include <locale.h>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
char s[999];
int k;
char b;
char B;
cout << "Ввeдите текст:" << endl;
cin.getline(s, 999);
cout << "Ввeдите букву:" << endl;
cin >> b;
cout << "Ввeдите букву(заглавную):" << endl;
k = 0;
cin >> B;
for(int i = 0; i< 999; i++){
if (s[i] == ' ')
{

if (s[i+1] == B || s[i+1] == b)
{
k++;
}
}
}
cout << "Количество слов, начинающихся на вашу букву:" << k << endl;
system("pause");
}

язык программирования C++

если я молодей сделай лучшим ответом и поставь лайк :3333
АТ
Александр Тихонов
261
Лучший ответ
Александр Тихонов если что язык русский
 #include  
#include
#include
// Функция выделяет слово из строки s начиная с позиции pos и сохраняет его
// в строке word. Возможна генерация исключения std::bad_alloc
// Возвращает индекс начала следующего поля или std::string::npos
// если выделять больше нечего
size_t get_word( const std::string& s, std::string& word, size_t pos );
// Сканирует файл fname и записывает количество слов, начинающихся на
// строку filter по ссылке wcount
void scan_file( char* fname, std::string& filter, unsigned long& wcount );

size_t get_word( const std::string& s, std::string& word, size_t pos )
{
size_t idx;
size_t start_idx;
// Символы разделители полей в строке
const char* delim = " \t";
// Очистим слово от мусора
word.clear();
// Найдем первый символ, не являющийся разделителем,
// начиная с позиции pos
idx = s.find_first_not_of( delim, pos );
if( idx != std::string::npos )
{
// Сохраним индекс начала слова
start_idx = idx;
// Найдем первый символ-разделитель
idx = s.find_first_of( delim, idx );
// Было ли это последним полем в строке?
if( idx == std::string::npos )
{
// Сохраним найденное слово
word.assign( s, start_idx, s.length()-start_idx );
}
else
{
// Сохраним найденное слово
word.assign( s, start_idx, idx-start_idx );
}
}
return idx;
}
void scan_file( char* fname, std::string& filter, unsigned long& wcount )
{
std::string s;
std::string w;
size_t pos;
std::ifstream ifs(fname);
if(ifs.is_open())
{
while( ifs.good() )
{
std::getline( ifs, s );
if( s.empty() ) continue;
pos = 0;
while( pos != std::string::npos )
{
pos = get_word( s, w, pos );
if( w.compare(0, filter.length(), filter) == 0 ) wcount++;
}
}
ifs.close();
}
else
{
std::cerr
Виктор Широков Программа сканирует произвольное количество файлов, имена которых заданны в командной строке на наличие слов, начинающихся на строку с фильтром, заданную в первом аргументе командной строки.
Исходный файл test.txt со словами:
 Слово1	не_то_слово1 Слово2 

Слово3 Слово4 не_то_слово2
Пример использования:
 ./app 'С' test.txt 
Количество слов, начинающихся c 'С': 4
Язык Си. Язык английский. Кодировка однобайтовая для английского языка.

 #include  
#include

#ifdef SIZE
#undef SIZE
#endif
#define SIZE 1000

int main()
{
char text[SIZE] = "Moscow is a capital of Russian Federation. Washington is a capital of United States of America. London is a capital of Great Bretany.";
int count = 0;
int i = 0;
int c, d;

printf("Zadannyj text: %s\r\n",text);

do
{
printf("Kakaja bukva? ");
c = getchar();
}while(!((c >= 'a' && c = 'A' && c = 'a' && d = 'A' && d = 'a' && text[i] = 'A' && text[i]