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

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

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

Файлы. С файла нужно удалить слово, в котором самое большое количество РАЗНЫХ букв - C++

11.06.2013, 18:23. Просмотров 566. Ответов 6
Метки нет (Все метки)

С файла нужно удалить слово, в котором самое большое количество РАЗНЫХ букв. То есть со слов "aab" и "abc" нужно удалить "abc". Помогите, а то никак не выходит...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 18:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файлы. С файла нужно удалить слово, в котором самое большое количество РАЗНЫХ букв (C++):

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

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

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

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

Найдите самое длинное слово в тексте и подсчитайте количество гласных букв в нем - C++
Найдите самое длинное слово в тексте и подсчитайте количество гласных букв в нем.

Найти самое большое слово в файле - C++
Помогите дописать код !!! Нужно сделать проверку на максимальное количество символов, чтобы найти самое большее слово в файле #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
11.06.2013, 18:28 #2
leonid_dinoel, результат записать в тот же файл/другой файл/вывести на консоль?
0
leonid_dinoel
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 16
11.06.2013, 19:07  [ТС] #3
В тот самый файл записать

Добавлено через 11 минут
MrGluck, сможешь помочь?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
11.06.2013, 19:19 #4
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 <fstream>
#include <vector>
#include <string>
#include <utility>
#include <algorithm>
#include <iterator>
 
typedef std::pair<std::string, int> comb; // слово и сколько в нем разных букв
typedef std::vector<comb > vec_comb;      // вектор комбинаций
 
int uniqueChars(std::string s)
{
    std::sort(s.begin(), s.end());
    return std::distance(s.begin(), std::unique(s.begin(), s.end()) );
}
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs) return 1;
    vec_comb v;
    for (std::string word; !ifs.eof() && ifs >> word;
        v.emplace_back(word, uniqueChars(word)) );
 
    auto it = std::max_element(v.begin(), v.end(),
        [](const comb &c1, const comb &c2) { return c1.second < c2.second; } );
    v.erase(it);
 
    ifs.close();
    std::ofstream o("input.txt");
    for (auto &word : v)
        o << word.first << " ";
}
0
leonid_dinoel
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 16
11.06.2013, 21:45  [ТС] #5
MrGluck, почему у меня показывает ошибку в строке
C++
1
v.emplace_back(word, uniqueChars(word)) );
у меня компилятор Dev C++

Добавлено через 10 минут
MrGluck, знакомый только что компилировал на Вижуал Студио, то тоже не компилит...
0
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
11.06.2013, 22:01 #6
C++11 нужен.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
11.06.2013, 22:48 #7
leonid_dinoel, emplace_back - метод вектора, добавленный в стандарте С++11.
Но не только на него будут ругаться компиляторы, не поддерживающее новый стандарт, еще и на лямбда-функцию, auto, for-цикл по коллекции.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 22:48
Привет! Вот еще темы с ответами:

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

Вывести имя и количество букв в фамилии. Вывести самое длинное слово - C++
Помогите сделать задачку: Вывести имя и количество букв в фамилии.Вывести самое длинное слово.На C++

Вывести имя и количество букв в фамилии. Вывести самое длинное слово - C++
Вывести имя и количество букв в фамилии.Вывести самое длинное слово,помогите сделать эту программу

Нужно перекинуть из файла F1 в F2 строки, состоящие только из одного слова, и найти в F2 самое длинное слово - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstring&gt; #include &lt;cstdlib&gt; using namespace std; int main () { ...


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

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

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