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

Удаление одинаковых слов в строке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Chainik!
1 / 1 / 1
Регистрация: 10.11.2008
Сообщений: 43
07.10.2012, 16:19     Удаление одинаковых слов в строке #1
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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n = 80;
    char s[n], *res[n];
    int k = 0;
    cout << "Vvedite stroku: ";
    gets(s);
    res[k] = strtok(s, " ");
    while(res[k])
    {
        k++;
        res[k] = strtok(NULL," ");
    }
    cout << "\n\nPosle udalenia odinakovix slov imeem: ";
    for(int i = 0; i < k; i++)
    {
        bool b = false;
        for(int j = i + 1; j < k; j++)
        {
            if(!strcmp(res[i],res[j]))
                b = true;
        }
        if(!b)
            cout << res[i] << " ";
    }
    _getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 16:19     Удаление одинаковых слов в строке
Посмотрите здесь:

C++ Посчитать сколько слов в строке начинается с буквы "т" 2. Ввести фразу. Все последовательности одинаковых символов заменить на выражение N(C)
C++ Проход по массиву и удаление одинаковых слов
Удаление одинаковых слов в строке C++
Количество слов в заданной строке (для каждого из слов) C++
Найти количество одинаковых слов в строке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
07.10.2012, 16:34     Удаление одинаковых слов в строке #2
посмотри здесь
Удаление одинаковых слов в строке
Chainik!
1 / 1 / 1
Регистрация: 10.11.2008
Сообщений: 43
07.10.2012, 17:17  [ТС]     Удаление одинаковых слов в строке #3
У меня рабочий код, всё делает как надо.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
07.10.2012, 17:22     Удаление одинаковых слов в строке #4
Цитата Сообщение от Chainik! Посмотреть сообщение
У меня рабочий код, всё делает как надо.
я тебя поздравляю, я думал ты не можешь решить задачу.
Chainik!
1 / 1 / 1
Регистрация: 10.11.2008
Сообщений: 43
07.10.2012, 17:39  [ТС]     Удаление одинаковых слов в строке #5
Я выложил код, но не задал ни какого вопроса!!!

Выложил готовый может кому пригодится!!!
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
07.10.2012, 17:45     Удаление одинаковых слов в строке #6
Цитата Сообщение от Chainik! Посмотреть сообщение
Выложил готовый может кому пригодится!!!

Не по теме:

в вашем алгоритме никакого заявленного удаления слов нет, только вывод на экран без повторений, это разные вещи. тогда уж реально в строке удалите одинаковые слова и не используйте функцию gets() во избежания непредвиденных ситуаций.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 22:25     Удаление одинаковых слов в строке
Еще ссылки по теме:

Задача о строке. Удаление дубликатов слов C++
Удаление одинаковых слов в строке C++
C++ Cтроки, vector. Посчитать количество одинаковых слов в строке

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

Или воспользуйтесь поиском по форуму:
Sawyer1988
10 / 10 / 0
Регистрация: 04.03.2012
Сообщений: 128
18.11.2012, 22:25     Удаление одинаковых слов в строке #7
Объясните пожалуйста работу этого кода:
Цитата Сообщение от Chainik! Посмотреть сообщение
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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n = 80;
    char s[n], *res[n];
    int k = 0;
    cout << "Vvedite stroku: ";
    gets(s);
    res[k] = strtok(s, " ");
    while(res[k])
    {
        k++;
        res[k] = strtok(NULL," ");
    }
    cout << "\n\nPosle udalenia odinakovix slov imeem: ";
    for(int i = 0; i < k; i++)
    {
        bool b = false;
        for(int j = i + 1; j < k; j++)
        {
            if(!strcmp(res[i],res[j]))
                b = true;
        }
        if(!b)
            cout << res[i] << " ";
    }
    _getch();
    return 0;
}
Yandex
Объявления
18.11.2012, 22:25     Удаление одинаковых слов в строке
Ответ Создать тему
Опции темы

Текущее время: 03:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru