0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 49
1

Определить есть ли в тексте одинаковые слова

21.12.2017, 10:33. Показов 1379. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан символьный массив, образованный из слов, разделенных пробелами.
С использованием процедур и функций выполнить:
определить есть ли в тексте одинаковые слова;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2017, 10:33
Ответы с готовыми решениями:

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

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

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

Строки. Определить есть ли одинаковые слова
Вот код,но он где то спотыкается и умирает)) Не могу понять в чём беда. #include...

1
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
22.12.2017, 21:13 2
Лучший ответ Сообщение было отмечено Katerina666 как решение

Решение

Katerina666, здравствуйте! Вот возможное решение:

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 <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int k;
    char arr[1000];
    char* str;
    vector<string> v;
    cout << "Enter a string [ENG]:" << endl;
    gets(arr);
    str = strtok(arr, " "); //Слова разделены одним пробелом
    while (str != NULL)
    {
        v.push_back(str);
        str = strtok(NULL, " ");
    }
    cout << "Repeated words:" << "\n";
    for (int j = 0; j < v.size(); j++)
    {
        k = 0;
        for (int i = j + 1; i < v.size(); i++)
        {
            if (v[j] == v[i])
            {
                while (v[j] == v[i])
                {
                    v.erase(v.begin() + i);
                    k++;
                }
            }
        }
        k++;
        if (k > 1)
            cout << v[j] << "\n";
    }
    system("pause");
    return 0;
}
Добавлено через 1 час 12 минут
Katerina666, вот еще вариант (слова выводятся по алфавиту):

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 <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int k, x, y;
    char arr[1000];
    string mas[1000];
    char* str;
    cout << "Enter a string [ENG]:" << endl;
    gets(arr);
    str = strtok(arr, " "); //Слова разделены одним пробелом
    k = 0;
    while (str != NULL)
    {
        mas[k++] = str;
        str = strtok(NULL, " ");
    }
    sort(mas, mas + k);
    cout << "Repeated words (alphabetically):" << "\n";
    x = y = 0;
    for (int i = y; i < k; i++)
    {
        if (mas[i] == mas[i+1])
        {
            x++;
        }
        else
        {
            y = x;
            x++;
            if (x > 1)
                cout << mas[i] << "\n";
            x = 0;
        }
    }
    system("pause");
    return 0;
}
P.S. Можно, также, считывать слова через поток (так как они разделены только пробелом) и записывать в массив.
0
22.12.2017, 21:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2017, 21:13
Помогаю со студенческими работами здесь

Определить, есть ли в строке одинаковые слова
Друзья подскажите как решить задачу необходимо это все через функцию. И без специальных функций...

Определить есть ли в данной строке одинаковые слова
Написать программу, с помощью подпрограмм, которая определяет есть ли в данной строке одинаковые...

Определить, есть ли в данной строке одинаковые слова
Задача №643. Определить, есть ли в данной строке одинаковые слова.

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru