Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 01.07.2022
Сообщений: 2
1

Вывести на экран все слова из К букв, в которых буква Ы встречается более 1 раза, и подсчитать их количество

01.07.2022, 09:42. Показов 1000. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1)Алфавит языка племени "тумба-юмба" состоит из букв Ы, Ц, Щ и О. Число
K вводится с клавиатуры. Вывести на экран все слова из К букв, в которых
буква Ы встречается более 1 раза, и подсчитать их количество.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2022, 09:42
Ответы с готовыми решениями:

Выведите на экран все слова из К букв, в которых буква "Ы" встречается более 1 раза, и подсчитайте их количество
Выведите на экран все слова из К букв, в которых буква "Ы" встречается более 1 раза, и подсчитайте...

В паскале выведите на экран все слова из К букв,в которых буква "Ы" встречается более 1 раза,и подсчитайте их количество
Алфавит языка племени "тумба-юмба" состоит из букв Ы, Ц, Щ и О. Число K вводится с клавиатуры.В...

Вывести на экран все слова из mбукв, в которых буква A встречается более 1 раза
Алфавит состоит из букв A, B, C и D. Число M вводится с клавиатуры. 1. Вывести на экран все...

Вывести на экран слова, в которых введенная буква встречается не более 1 раза
С++ Есть файл со словами С клавиатуры вводится буква Вывести на экран самое длинное слово, в...

Вывести все слова длиной L символов, в которых буква Ы встречается более 1 раза
Выведите на экран все слова длиной L символов, в которых буква Ы встречается более 1 раза, и...

3
2855 / 2002 / 988
Регистрация: 21.12.2010
Сообщений: 3,707
Записей в блоге: 10
01.07.2022, 14:01 2
Перебор всех слов из 4х буквенного алфавита длиной К - это перебор всех К-разрядных чисел в 4-ричной СС. Допустим если К == 2 то это числа от 00 до 33. Берём 00 и прибавляем единицу в цикле пока не получим 33.
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
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <cstdlib>
 
 
int main()
{
    system("chcp 1251 > 0");
    std::string str{ "ЫЦЩО" };
    int k = 3; // K
    std::vector<int> vnum(k); // k-разрядное число в 4-ричной СС
    while (true)
    {
        if (std::count(vnum.begin(), vnum.end(), 0) > 1)
        {
            std::transform(vnum.begin(), vnum.end(), std::ostreambuf_iterator<char>{std::cout}, [&str](int ind) {return str[ind]; });
            std::cout << "\n";
        }
 
        // прибавление единицы к vnum
        auto it = std::find_if(vnum.rbegin(), vnum.rend(), [](int val) {return val < 3; });
        if (it == vnum.rend())
            break;
        ++* it;
        std::fill(it.base(), vnum.end(), 0);
    }
}
0
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
01.07.2022, 14:50 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
#include <stdio.h>
#include <string>
#include <ctime>
#pragma warning(disable:4996)
 
int main()
{
    const std::string alphabet = "SWOJ";
    const char letter = 'S';
    srand(time(NULL));
    
    int k, n = rand() % 20 + 1, c = 0;
    scanf("%d", &k); getchar();
    
    std::string *arr = new std::string[n];
    for(int i = 0; i < n; i++)
    {
        int m = rand() % (k * 2) + 1;
        arr[i] = "";
        for(int j = 0; j < m; j++)
            arr[i] += alphabet[rand()%alphabet.length()];
        printf("%s   ", arr[i].c_str());
    }
    
    printf("\n\n");
    for(int i = 0;i< n;i++)
        if(arr[i].length() == k)
            if(arr[i].find(letter, arr[i].find(letter) + 1)!=EOF)
            {
                printf("%s   ", arr[i].c_str());
                c++;
            }
    printf("\n%d", c);
    
    delete[] arr;
    getchar();
    return 0;
}
0
7 / 4 / 2
Регистрация: 10.06.2022
Сообщений: 49
01.07.2022, 16:43 4
А через map не будет проще подсчитать количества? Создать map с ключами "Ы", "Ц", "Щ", "О" и значениями 0, дальше посимвольно проверять, если mapname->first == symb то mapname->second++; ? ну и дальше вычеслить максимальное, думаю не сложно
0
01.07.2022, 16:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2022, 16:43
Помогаю со студенческими работами здесь

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

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

Подсчитать количество студентов, в фамилии которых встречается буква «а» более одного раза
Всем привет, помогите плиз с запросом - Подсчитать количество студентов, в фамилии которых...

Подсчитать количество студентов, в фамилии которых встречается буква «а» более одного раза
Добрый день, наткнулся на такое задание : Подсчитать количество студентов, в фамилии которых...

В тексте найти все слова, у которых буква встречается более одного раза
Задача: В тексте найти все слова, у которых буква встречается более одного раза. Записать их в...

Все слова, в которых буква “а” встречается более 2-х раз, удалить из текста. Вывести полученную строку на экран. Если та
Можете помочь объяснить алгоритм решения? я как понял строку сплитом разделять,а как дальше...


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

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