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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Artem8
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 10
#1

Задача о строке. Удаление дубликатов слов - C++

14.05.2014, 00:58. Просмотров 962. Ответов 6
Метки нет (Все метки)

В строке символов определить количество повторений каждого слова и удалить дубликаты слов.Слова отделяются пробелами.
помогите новичку,спасибо
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2014, 00:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача о строке. Удаление дубликатов слов (C++):

Удаление одинаковых слов в строке - C++
добрый вечер, была такая задача -удалить из строки одинаковые -подряд идущие слова. подскажите, это нужно каждую букву сравнивать ? и как...

Удаление одинаковых слов в строке - C++
#include "stdafx.h" #include "iostream" #include "conio.h" using namespace std; int _tmain(int argc, _TCHAR* argv) { const...

Удаление одинаковых слов в строке - C++
Здравствуйте, задача заключается в удалении одинаковых слов в строке. Пытался решить, но не доходит где у меня ошибка. Прошу помочь,...

Удаление и замена слов в строке - C++
Здравствуйте! Помогите, пожалуйста написать программу! Дана последовательность строк. Каждая строка состоит из слов, разделенных...

Задача для начинающих. Нахождение дубликатов. - C++
Задача: Напишите программу, которая находит и отображает значения-дубликаты в 10-элементном массиве целочисленных значений (если...

Задача на удаление слов на "а" из текста - C++
:help:Срочно!!! Помогите доработать программу, которая должна проанализировать три небольших предложения составленные из слов разделённых...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
14.05.2014, 02:20 #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
46
47
48
49
50
#include <iostream>
#include <vector>
 
int main()
{
    std::string str;
    std::cout << "Type some text: ";
    getline(std::cin, str);
    
    char* chStr = new char[str.size() + 1];
    std::strcpy(chStr, str.c_str());
    char* p = std::strtok(chStr, " ");
    std::vector<std::string> arr;
    while(p != NULL)
    {
        arr.push_back(p);
        p = strtok(NULL, " ");
    }
    
    std::cout << std::endl;
    int counter = 0;
    
    for(int i = 0; i < arr.size(); i++)
    {
        std::string temp = arr[i];
        for(int j = 0; j < arr.size(); j++)
        {
            if(arr[j] == temp)
            {
                counter++;
                if(counter > 1)
                {
                    arr.erase(arr.begin() + j);
                    j--;
                }
            }
        }
        std::cout << temp << " repeats " << counter << " times\n";
        counter = 0;
    }
    
    std::cout << std::endl;
    for(int i = 0; i < arr.size(); i++)
        std::cout << arr[i] << " ";
    
    std::cout << "\n\n";
    
    system("pause");
    return 0;
}
0
Artem8
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 10
14.05.2014, 08:32  [ТС] #3
а можно более проще код или это самый простой?
0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
14.05.2014, 15:33 #4
Artem8, смотря что под проще подразумевается. Если хотите убрать стандартные функции
всё будет выглядеть проще только на много длиннее будет код (хотя всё равно сомневаюсь о простоте).
А по приведённому варианту если что-то не понятно могу обяснить
0
Artem8
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 10
14.05.2014, 17:26  [ТС] #5
GuGo1991, просто еще не знаком с типом стринг и все что с ним связано(
можешь немного обьяснить ,что собой являет std:: и так далее
0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
15.05.2014, 16:56 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Artem8, std - библиотека, в которой хранятся все классы, объекты и функции стандартной библиотеки С++.
Можно включить её перед главной функцией main(), следующим образом:
C++
1
using namespace std;
И тогда необходимости включения не будет, т.е. вместо std::cin можно просто cin и.т.д.
Но в этом случае бывают конфликты, например при использовании некоторых математических функции
необходимо явное приведение типов.
string - представляет собой массив из char. Есть много стандартых функций, которые помогают манипулировать
контентом string переменной. Некоторые из них я использовал для этой темы (size(), erase()).
Ещё был использован vector - контейнер, представляющий собой массив с "гибким" размером.
Можно было бы использовать динамический массив...
Работу функций strcpy() и strtok() я описывал в этой теме Поиск одинаковых слов в тексте
1
Artem8
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 10
16.05.2014, 00:02  [ТС] #7
GuGo1991, спасибо большое)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2014, 00:02
Привет! Вот еще темы с ответами:

Количество слов в заданной строке (для каждого из слов) - C++
дано символьная строка. Слово-последовательность символов между пробелами, не содержащие пробелы усередени себя. Для каждого из слов...

Cтрока: Определить количество средних слов в строке и какое из слов начинается на большую по коду букву - C++
Определить количество средних слов в строе и какое из слов начинается на большую по коду букву. Напишите плз код данной программы...

Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один)) - C++
добрый день. помогите, пожалуйста понять мои ошибки в работе. Мне нужно написать программу со своей библиотекой, которая включает в себя...

В заданной строке определить количество слов (в строке может содержаться несколько пробелов подряд). - C++
В заданной строке определить количество слов (в строке может содержаться несколько пробелов подряд).


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.05.2014, 00:02
Ответ Создать тему
Опции темы

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