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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gauhar_947
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 1
#1

Дана строка, состоящая из русских слов. Найти количество слов, которые содержат ровно три буквы «А» - C++

18.04.2013, 15:16. Просмотров 1504. Ответов 6
Метки нет (Все метки)

Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат ровно три буквы «А»
Нашла здесь много решений данной задачи в C++, но все написаны в консоли, а мне нужно без всех эти char,gets и puts. Поймите правильно, я несчастный первокурсник
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2013, 15:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана строка, состоящая из русских слов. Найти количество слов, которые содержат ровно три буквы «А» (C++):

В строке найти количество слов, которые содержат ровно три буквы «А» - C++
Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество...

Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). ​​Определить количество слов, которые заканчиваются одной и той - C++
Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). ​​Определить количество слов, которые заканчиваются...

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

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

Дана строка содержащая английский текст. Найти количество слов, начинающихся с буквы b - C++
1)Днана строка содержащая английский текст. Найти количество слов, начинающихся с буквы b. 2)Заполнить маирцу случайными числами.На...

Дана строка, состоящая из слов - C++
Дана строка, состоящая из слов, разделенных пробелами. Вывести на экран порядковый номер слова максимальной длины и номер позиции строки с...

6
OstapBender
583 / 522 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
18.04.2013, 16:25 #2
если, как вы говорите не в консоли, - то как же тогда?
0
zarko97
277 / 37 / 0
Регистрация: 11.10.2015
Сообщений: 392
19.03.2017, 19:07 #3
C++
1
2
3
4
5
    std::istringstream iss{ some };
    std::cout << std::count_if(std::istream_iterator<std::string>(iss),
                               std::istream_iterator<std::string>(), 
                               [](auto const& s) { return std::count(s.begin(), s.end(), 'A') == 3;})
              << std::endl;
Добавлено через 38 минут
C++
1
std::tolower('A')
если регистр не важен
0
Photofenix
59 / 59 / 11
Регистрация: 18.11.2016
Сообщений: 466
Завершенные тесты: 1
19.03.2017, 19:32 #4
Они должны идти три подряд, или можно в разнобой?

Добавлено через 19 минут
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
51
52
53
54
#include <iostream>
#include <cstdlib>
#include <Windows.h>
#include <string>
#include <sstream>
#include <iomanip>
 
class wrds{
private:
    std::string text;
public:
    wrds (std::string str){
        text = str;
    }
 
    ~wrds (){
        
    }
 
    std::string get_wrd(){
        return text;
    }
};
 
 
int main(){
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
 
    std::string usr_txt = "найти слово в катарам содержится три буквы ааа";
    std::string wrd;
    std::istringstream str (usr_txt);
 
    wrds* fnd[10];
    int count (0);
 
    while (str >> wrd){
        short find_a (0);
        for (int i(0); wrd[i]; i++){
            wrd[i] == 'а' ? ++find_a : false;
        }
        (find_a >= 3) ? fnd[count++] = new wrds(wrd) : false;
    }
 
    std::cout << "Найденные слова: " << std::endl;
    for (int i(0); i!=count; i++){
        std::cout << std::setw (3) << i << std::setw (10) << fnd[i] -> get_wrd() << std::endl;
        delete fnd[i];
    }
 
 
    system ("pause");
    return 0;
};
0
zarko97
277 / 37 / 0
Регистрация: 11.10.2015
Сообщений: 392
19.03.2017, 22:40 #5
Photofenix, ну и нахрена здесь деструктор нужен?
0
GeFacle
Рэмбо комнатный
91 / 94 / 32
Регистрация: 05.03.2017
Сообщений: 503
Завершенные тесты: 4
19.03.2017, 23:29 #6
Gauhar_947, будучи на первом курсе не могу назвать себя так
Цитата Сообщение от Gauhar_947 Посмотреть сообщение
я несчастный первокурсник
Добавлено через 7 минут
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
#include <iostream>
#include <cstring>
using namespace std;
 
int main()
{
    string str="Строка с рандомным текстом",str1="";
    int i,j,c=0,k=0;
    for (i=0; i<str.length(); i++)
    {
        if (str[i]!=' ')
        {
            str1=str1+str[i];
        }
        else
        {
            for (j=0; j<str1.length(); j++)
            {
                if (str1[j]=='a' || str1[j]=='а' || str1[j]=='A' || str1[j]=='А')
                {
                    k=k+1;
                }
            }
            if (k==3)
            {
                c=c+1;
                k=0;
                str1="";
            }
            else
            {
                k=0;
                str1="";
            }
        }
    }
    return c;
}
0
повар1
79 / 58 / 23
Регистрация: 24.02.2017
Сообщений: 235
Завершенные тесты: 1
19.03.2017, 23:53 #7
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
#include <iostream>
#include <string.h>
#include <windows.h>
using namespace std;
 
char bufRus[256];
char* RUS(const char*text) //функция поддержки русского языка
{
CharToOem(text,bufRus);
return bufRus;
}
 
int main()
{
string s=" HАЙТИ СЛОВО  В КАТАРАМ СОДЕРЖИТЬСЯ ТРИ БУКВЫ ААА А НЕ АААААА",t;
int i=0,count=0,slov=0;
 
cout<<RUS(s.c_str())<<"\n";
 
for(i;i<=s.size();i++)
  {
    if(s[i]!=32)
      t.operator +=(s[i]);
    if(s[i]=='А')
       count++;
    if(count==3)
       count=3;
    if(s[i]==32 || s[i]=='\0')
     {
       if(count==3)
       {
         cout<<RUS(t.c_str())<<"\n";
         slov++;
        }
       count=0;
       t.clear();
 
    }
  }
cout<<RUS("слов всего = ")<<slov<<"\n";
system("pause");
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2017, 23:53
Привет! Вот еще темы с ответами:

Дана строка состоящая из слов разделенных ... - C++
Помогите решить с объяснениями. Дана строка состоящая из слов разделенных одним или несколькими пробелами или знаками припинания. ...

Дана строка,состоящая из нескольких слов - C++
Дана строка, состоящая из нескольких слов,набрать заглавными буквами и разделенный пробелами (один или несколькими).Найти количество...

Дана строка , состоящая из английских слов - C++
Дана строка , состоящая из английских слов, разделенных пробелами( одним или несколькими). Превратить каждое слово в строке, удалив из него...

Задачка на строки.Дана строка, состоящая из слов - C++
Дана строка, состоящая из слов (словом считать группу символов, начинающуюся и заканчивающуюся пробелом, или знаками препинания). Вывести...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
19.03.2017, 23:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru