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

Отредактировать заданное предложение, удаляя из него те слова, которые уже встречались в предложении раньше - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Представление линейных списков http://www.cyberforum.ru/cpp-beginners/thread171913.html
Доброго времени суток! помогите мне пожалуйста с этим заданием: нужно реализовать следующий минимальный набор операций со списком: инициализация списка; уничтожение списка с освобождением памяти; добавление узла в голову списка; добавление узла в хвост списка; удаление узла из головы списка; удаление узла из хвоста списка; выдача текущего списка на экран.
C++ Двумерный массив. Обращение к каждому элементу. Пожалуйста помогите написать данную программу: Дана матрица символов. Написать программу обращения к каждому элементу этой матрицы, если считать, что имена строк — буквы алфавита (по возрастанию), а имена столбцов — целые числа (по возрастанию). То есть дана матрица и при вводе с клавиатуры например А 7 то программа должна вывести элемент первой строки и 7 столбца этой матрицы. Всем... http://www.cyberforum.ru/cpp-beginners/thread171903.html
C++ Вернуть первую страницу в консоли
На экран выводится матрица, по размеру большая, чем количество строк/столбцов, которые умещаются в экране одной страницы консоли. Каждый раз, когда размер матрицы превышает допустимый размер, осуществляется подача страницы при помощи \f После того как все выведено, виден только последний экран. Как перейти к странице с первыми элементами?
C++ В каждой строке матрицы найти min и max, поменять местами
Условие: В каждой строке матрицы A=(aij)mxn найти максимальный и минимальный элементы. Сформировать матрицу B=(bij)mxn, переставляя в каждой строке матрицы A=(aij)mxn максимальный элемент с минимальным. Среда программирования турбо си++:wall: мой опыт программирования 0, препод бегло и поверхностно прочитал несколько лекций и сказал- программируйте, это первое задание. покурил немного форум,...
C++ Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов. http://www.cyberforum.ru/cpp-beginners/thread171880.html
Буду благодарен! Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов.
C++ Asm + C++ Помогите на C++ считает нормально , а на asm #include<iostream> #include<stdio.h> #include <iomanip> using namespace std; bool x3,x2,x1,x0,F1,F2,F3,f1a,f2a,f3a; int main() { setlocale(LC_ALL,"rus"); printf("\n\t\t Ло А.В."); printf("\n\tВычислить значение логических функций:"); подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2804 / 1580 / 247
Регистрация: 03.05.2010
Сообщений: 3,677
03.10.2010, 20:36     Отредактировать заданное предложение, удаляя из него те слова, которые уже встречались в предложении раньше
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 <algorithm>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////
typedef std::string         T_str;
typedef std::vector<T_str>  T_strings;
/////////////////////////////////////////////////////////////////////////////////////
void  print_unique_words(const T_str&  s)
{
    std::istringstream  ssin(s);      
    std::istream_iterator<std::string>  ssin_beg(ssin), ssin_end;
    T_strings  words;       
    std::copy(ssin_beg, ssin_end, std::back_inserter(words));
 
    for(T_strings::iterator  word_it = words.begin(); word_it != words.end(); )        
    {
        T_strings::iterator  find_word_it 
            = std::find(word_it + 1, words.end(), *word_it);
        if(find_word_it != words.end())        
        {
            words.erase(find_word_it);    
        }
        else
        {
            ++word_it;
        }
    }
    
    std::copy(words.begin(), words.end(), 
              std::ostream_iterator<std::string>(std::cout, " "));    
}
/////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    std::cout << "Введите предложение с повторяющимися словами: " 
              << std::endl;
    T_str  s;
    std::getline(std::cin, s);
    std::cout << "Предложение с удаленными дублями слов:"
              << std::endl;
    print_unique_words(s);
    std::cout << std::endl;
}
 
Текущее время: 17:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru