Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
jesper
0 / 0 / 1
Регистрация: 24.04.2015
Сообщений: 36
1

Каждая буква входит в слово не менее двух раз

18.03.2016, 11:34. Просмотров 979. Ответов 1
Метки нет (Все метки)

Используя класс string, решить задание:
Дана строка. Между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова последовательности, которые удовлетворяют следующему свойству: каждая буква входит в слово не менее двух раз. Все остальные слова удалить.

У меня есть решение этой задачи с использованием char:
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
#include <conio.h>
#include <iostream>
#include <string>
 
using namespace std;
 
int main() 
{
    setlocale(LC_ALL,"Russian");
 
    const int N = 6;
    char str[N][30];
 
    cout << ("Введите строку латинскими буквами, состоящую из 6 слов: ");
 
    cout << endl;
 
    for (int i = 0; i < N; ++i)
    cin >> str[i];
 
    cout << endl;
 
    for (int i = 0; i < N; ++i)
    {
        int n = 1;
        int size = strlen(str[i]);
        for (int j = 0; j < size; ++j)
        {
            for (int k = j + 1; k < size; ++k)
            {
                if ( str[i][j] == str[i][k]) ++n;
                if (n == 2)
                {
                    cout << str[i] << endl;
                    break;
                }
            }
            if (n == 2) break;
        }
    }
 
    _getch();
    return 0;
}
Помогите пожалуйста.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2016, 11:34
Ответы с готовыми решениями:

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

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

Определить, имеются ли в последовательности слова, в которых каждая буква слова входит в него не менее двух раз
Есть задача, никак не могу разобраться, помогите пожалуйста реализовать)) Определить, имеются ли...

Определить слова, в которых каждая буква встречается не менее двух раз
Разработать программу, определяющую во введенном тексте слова, в которых каждая буква встречается...

Функция, которая определяет, входит ли каждая буква в заданную строку не более двух раз
Фиг с ним с не более двух, понять бы хоть, как один раз проверить. Я не умный, поэтому скажите, что...

1
meJevin
158 / 150 / 92
Регистрация: 18.11.2015
Сообщений: 677
Завершенные тесты: 1
18.03.2016, 16:01 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
41
42
43
44
45
#include <conio.h>
#include <iostream>
#include <string>
#include <windows.h>
 
bool checkWord(std::string word) {
    int counter, rightCounter = 0;
    for (int i = 0; i < word.size(); i++) {
        char check = word[i];
        counter = 0;
        for (int j = 0; j < word.size(); j++) {
            if (check == word[j])
                counter++;
        }
        if (counter >= 2)
            rightCounter++;
    }
    return (rightCounter == word.size()) ? true : false;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    const int N = 6;
    std::string str[N];
 
    std::cout << ("Введите строку, состоящую из 6 слов: ");
 
    std::cout << std::endl;
 
    for (int i = 0; i < N; i++)
        std::cin >> str[i];
 
    std::cout << "\nОтвет:\n";
    for (int i = 0; i < N; i++) {
        if (checkWord(str[i]))
            std::cout << str[i] << std::endl;
    }
    
 
    _getch();
    return 0;
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2016, 16:01

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

Найти во введенном тексте слова, в которых каждая буква встречается не менее двух раз
Разработать программу, определяющую во введенном тексте слова, в которых каждая буква встречается...

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

Строковые переменные: Найти все слова, в которых буква ''а'' входит не менее двух раз
Дан текст. Найти все слова, в которых буква ''а'' входит не менее двух раз.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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