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

Подсчет количества заглавных букв в тексте - C++

Восстановить пароль Регистрация
 
Наталия12
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 2
15.06.2014, 13:34     Подсчет количества заглавных букв в тексте #1
С клавиатуры вводится строка. Составить программу, которая подсчитывает количество заглавных букв в тексте; выводит на экран слова, имеющие наименьшее количество букв.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2014, 13:34     Подсчет количества заглавных букв в тексте
Посмотрите здесь:

Подсчет количества различных букв в слове C++
Подсчет количества слов начинающихся с гласных, согласных, иных букв C++
Подсчет количества русских согласных букв с строке C++
Подсчет количества русских согласных букв с строке C++
C++ Количество заглавных букв в тексте
C++ Подсчет количества слов с четным и не четным количеством букв в слове
Подсчет количества символов в тексте C++
C++ Подсчет количества цифр в тексте

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
15.06.2014, 14:24     Подсчет количества заглавных букв в тексте #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <string>
#include <vector>
#include <cstdlib>
#include <conio.h>
 
int main()
{
    std::cout << "Type string: ";
    std::string str;
    getline(std::cin, str);
    int counter = 0;
    for(std::string::iterator it = str.begin(); it != str.end(); ++it)
        if(isupper(*it))
            counter++;
    std::cout << "\nUpper characters: " << counter << "\n\n";   
    char* chStr = new char[str.size() + 1];
    strcpy(chStr, str.c_str());
    char* p = strtok(chStr, " .,!?:;");
    std::vector<std::string> arr;
    str = p;
    while(p != NULL)
    {
        arr.push_back(p);
        std::string temp = p;
        if(str.size() > temp.size())
            str = temp;
        p = strtok(NULL, " .,!?:;");
    }
 
    for(std::vector<std::string>::iterator it = arr.begin(); it != arr.end(); ++it)
        if(str.size() == (*it).size())
            std::cout << *it << std::endl;
    
    delete [] chStr;
    
    std::cout << "\nOperation succeeded\n";
    getch();
    return 0;
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,898
Записей в блоге: 2
Завершенные тесты: 1
15.06.2014, 15:04     Подсчет количества заглавных букв в тексте #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
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <string>
#include <cctype>
#include <algorithm>
#include <vector>
 
bool is_spliter ( char x )
{
   static const std::string adv = ".,!{}[]=_%^:;/\\\'\"&?()*-+#@" ;
   return isspace(x) || (adv.find_first_of (x) != std::string::npos) ;
}
 
bool is_not_spliter ( char x )
{
   return !is_spliter(x) ;
}
 
 
std::vector < std::string > split ( const std::string & text )
{
   std::vector < std::string > result ;
   for ( std::string::const_iterator it = std::find_if ( text.begin() , text.end() , is_not_spliter ), endIterator = text.end() ; it != endIterator ; it = std::find_if ( it , text.end() , is_not_spliter ) ) {
      std::string::const_iterator temp_it = std::find_if ( it , text.end() , is_spliter ) ;
      result.push_back ( std::string ( it , temp_it ) ) ;
      it=temp_it ;
   }
   return result ;
}
 
 
bool string_size_less ( const std::string & first , const std::string & second )
{
   return first.size() < second.size() ;
}
 
int main ( )
{
   std::string text = "My name is Boris! I am president" ;
   //std::cout << "String->" ;
   //std::getline ( std::cin , text ) ;
   std::cout << "\nResult:\n" ;
   const std::vector < std::string > & vec_ref = split ( text ) ;
   std::cout << count_if(text.begin(),text.end(), isupper ) << std::endl ;
   std::vector < std::string >::const_iterator itMin = std::min_element ( vec_ref.begin() , vec_ref.end() , string_size_less ) ;
   if ( itMin != vec_ref.end() ) {
      for ( std::vector < std::string >::const_iterator it = vec_ref.begin() , endIterator = vec_ref.end() ; it != endIterator ; ++it )
         if ( it->size() == itMin->size() )
            std::cout << *it << ' ' ;
   }
}
Yandex
Объявления
15.06.2014, 15:04     Подсчет количества заглавных букв в тексте
Ответ Создать тему
Опции темы

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