Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 86
1

Вывести только те слова, все буквы которых различны

15.06.2017, 12:48. Просмотров 598. Ответов 12
Метки нет (Все метки)

Помогите сделать надо чтобы вводились слова и выводились только те в которых все буквы разные
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2017, 12:48
Ответы с готовыми решениями:

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

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

Определите все ли буквы слова различны.
Определите все ли буквы слова различны.

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

12
149 / 137 / 61
Регистрация: 08.09.2014
Сообщений: 1,200
15.06.2017, 13:26 2
Напечатать слова, в которых нет повторяющихся букв

Добавлено через 46 секунд
Напечатать те слова строки, в которых нет повторяющихся букв
0
800 / 530 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
15.06.2017, 13:38 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
#include <iostream>
#include <sstream>
#include <iterator>
#include <string>
#include <unordered_set>
#include <algorithm>
 
using namespace std;
 
void print(string const& str)
{
    istringstream ist{ str };
    
    for_each(
        istream_iterator<string>{ ist }, istream_iterator<string>{},
        [](string const& str)
    {
        const unordered_set<char> st
        {
            str.cbegin(), str.cend()
        };
 
        if ( st.size() == str.size() )
            cout << str << endl;
    });
}
 
int main()
{
    string str{ "asdf qwerh asdfa" };
    //getline(cin, str);
 
    print(str);
 
    system("pause");
}
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 86
15.06.2017, 13:54  [ТС] 4
А полегче можно? Я такого не проходил ещё
0
800 / 530 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
15.06.2017, 13:58 5
Цитата Сообщение от IgorAvas Посмотреть сообщение
полегче можно?
IgorAvas, воу-воу ПАЛЕХЧЕ!!!

Название: 3DYjViPBJ8c.jpg
Просмотров: 30

Размер: 14.8 Кб
1
1463 / 928 / 808
Регистрация: 30.04.2016
Сообщений: 3,212
15.06.2017, 14:19 6
IgorAvas, здравствуйте! Вот еще вариант:

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
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
 
using namespace std;
 
bool AllDiff(string s)
{
    int k, len;
    sort(s.begin(), s.end());
    len = s.length();
    k = 0;
    for (int i = 0; i < len - 1; i++)
    {
        if (s[i+1] != s[i])
            k++;
    }
    k++;
    if (k == len)
        return true;
    return false;
}
 
int main()
{
    string s, st; //Объявляем строковые переменные
    cout << "Введите строку из слов (латинские буквы):" << endl;
    getline(cin, s); //Вводим строку
    stringstream str(s); //Помещаем строку в поток
    cout << "Искомые слова:" << endl;
    while (str >> st) //Пробегаем по строке
    {
        if (AllDiff(st))
            cout << st << endl; //Выводим искомые слова
    }
    cin.get();
    return 0;
}
0
1270 / 1106 / 783
Регистрация: 29.02.2016
Сообщений: 3,408
15.06.2017, 14:31 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <unordered_set>
 
int main()
{
    std::string s;
beg: std::cout<< "Enter word ";
    std::cin >> s;
    if(std::unordered_set<char>(s.cbegin(), s.cend()).size() == s.length())
        std::cout << s;
    else goto beg;
    std::cout<<std::endl;
    system("pause");
    return 0;
}
0
1463 / 928 / 808
Регистрация: 30.04.2016
Сообщений: 3,212
15.06.2017, 14:53 8
IgorAvas, вот вариант с упрощенной функцией проверки. Он короче и понятнее:

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
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
 
using namespace std;
 
bool AllDiff(string s)
{
    bool flag = true;
    sort(s.begin(), s.end());
    for (int i = 0; s[i]; i++)
    {
        if (s[i+1] == s[i])
        {
            flag = false;
            break;
        }
    }
    if (flag)
        return true;
    return false;
}
 
int main()
{
    string s, st; //Объявляем строковые переменные
    int k;
    cout << "Введите строку из слов (латинские буквы):" << endl;
    getline(cin, s); //Вводим строку
    stringstream str(s); //Помещаем строку в поток
    cout << "Искомые слова:" << endl;
    k = 0;
    while (str >> st) //Пробегаем по строке
    {
        if (AllDiff(st))
        {
            cout << '#' << k + 1 << ": ";
            cout << st << endl; //Выводим искомые слова
            k++;
        }
    }
    if (!k)
        cout << "Искомые слова не найдены!" << endl;
    cin.get();
    return 0;
}
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 86
15.06.2017, 15:03  [ТС] 9
На 8 строку постоянно ругается
0
1463 / 928 / 808
Регистрация: 30.04.2016
Сообщений: 3,212
15.06.2017, 15:46 10
Цитата Сообщение от IgorAvas Посмотреть сообщение
На 8 строку постоянно ругается
Кому адресовано это сообщение?
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 86
15.06.2017, 15:50  [ТС] 11
Вам
0
1463 / 928 / 808
Регистрация: 30.04.2016
Сообщений: 3,212
15.06.2017, 15:52 12
IgorAvas, А на что именно ругается и в какой среде вы запускайте программу?
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
15.06.2017, 15:53 13
IgorAvas, там не на что ругаться, вполне валидное объявление функции.

Добавлено через 14 секунд
Выложите текст ошибки
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2017, 15:53

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

Строки (вывести все слова, содержащие только латинские буквы)
Здравствуйте, нужно вывести все слова, содержащие только латинские буквы. Задаётся...

Выяснить, все ли буквы слова Х, стоящие на нечетных местах, различны
Задание 2 Выяснить, все ли буквы слова Х, стоящие на нечетных местах, различны.

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

Вывести четырехзначные числа у которых все десятичные цифры различны
Я совсем зеленый новичок, все ли верно у меня в коде? Задача: вывести на экран числа от 1000 до...


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

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

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