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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
asdasdasdasdgg
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 10
#1

Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL - C++

17.03.2013, 13:42. Просмотров 1185. Ответов 7
Метки нет (Все метки)

Сортировка слов по количеству в них букв 'А'.
Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL.

Мне не полностью программу. А реализацию данной функции.

Вот эта выполняет сортировку слов по алфавиту по возрастанию... Возможно ли её переделать, чтобы выполнялась сортировка по кол-ву букв 'А' в слове?

C++
1
2
3
4
5
6
7
bool operator<(SYLLABLE syllable1, SYLLABLE syllable2) {
bool result = syllable1.Word < syllable2.Word;
return result;
}
void IT::sort() {       
std::sort(this->Syllables.begin(), this->Syllables.end());
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 13:42     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL
Посмотрите здесь:

Реализация алгоритмов библиотеки STL - C++
Ребят помогите пожалуйста, как создать програмку, которая бы создавала массив 4 на 3, и заполняла его рандомом. Еще нужно потом вывести...

Структура, с использованием контейнера библиотеки STL - C++
Помогите, пожалуйста,с задачкой. Следующие задания реализовать в виде класса, используя для хранения информации контейнер стандартной...

Сортировка группы по фамилии. Библиотеки STL - C++
Добрый вечер! Помогите, пожалуйста. Задача на сортировку, по фамилии, группы с помощью библиотеки STL. Не могу понять где ошибка в коде. ...

Работа с одномерным массивом с использованием контейнерных классов и алгоритмов библиотеки - C++
вот задача В одномерном массиве из n элементов вычислить: 1) сумму элементов с нечетными индексами 1) сумму элементов между...

Удаление елемента списка с использованием итератора. STL - C++
Надо удалить из списка елементы, значение которых входит в некий диапазон. Я хочу использовать для етого итератор(если такое вообще...

Сортировка списка (STL) - C++
Здравствуйте, я столкнулся с проблемой: Мне нужно отсортировать обьекты. Обьекты есть елементами списка. Список задается как лист. ...

Сортировка строк не используя стандартных функций - C++
Итак, дословно оглашу задачку: &quot;Рассортировать массив строк в алфавитном порядке, перемещая строки. Стандартных функций работы со строками...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.03.2013, 14:10     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL #2
asdasdasdasdgg, вариантов много. Первое, что приходит в голову это функтор.
asdasdasdasdgg
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 10
17.03.2013, 14:12  [ТС]     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL #3
а можно реализацию , если не сложно
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.03.2013, 14:13     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL #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
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
 
auto print = [](const std::vector<std::string>& v)
{
    for (auto& x : v) std::cout<<x<<" ";
    std::cout<<"\n";
};
 
int main()
{
    std::vector<std::string> vs = {"damba", "laso", "catala", "qaaaaaq", "with", "abc"};
    std::cout<<"Before: "; print(vs);
    std::sort(vs.begin(), vs.end(), [](const std::string& lhs, const std::string& rhs) -> bool
    {
        if (std::count(lhs.begin(), lhs.end(), 'a') > std::count(rhs.begin(), rhs.end(), 'a'))
            return true;
        else
            return false;
    });
    std::cout<<"After: "; print(vs);
    
    return 0;
}
asdasdasdasdgg
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 10
17.03.2013, 14:34  [ТС]     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL #5
можете оформить как мой код записан?

что такое?
Цитата Сообщение от yuron_477 Посмотреть сообщение
auto print = [](const std::vector<std::string>& v)
{
* * for (auto& x : v) std::cout<<x<<" ";
* * std::cout<<"\n";
};
Добавлено через 4 минуты
Как я понял надо вот так, но не уверен... Вроде правильно работает


C++
1
2
3
4
5
6
7
8
9
bool operator<(SYLLABLE syllable1, SYLLABLE syllable2) {
count(syllable1.Word.begin(), syllable1.Word.end(), 'а') < count(syllable2.Word.begin(), syllable2.Word.end(), 'а')  ;
return count(syllable1.Word.begin(), syllable1.Word.end(), 'а') < count(syllable2.Word.begin(), syllable2.Word.end(), 'а');
}
 
 
void IT::sort() {       
std::sort(this->Syllables.begin(), this->Syllables.end());
}
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.03.2013, 14:38     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL #6
Честно говоря, ваш код какой то бред.

Добавлено через 1 минуту
auto print = [](const std::vector<std::string>& v) - это просто функция, которая печатает слова
asdasdasdasdgg
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 10
17.03.2013, 16:31  [ТС]     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL #7
а работает...

Добавлено через 45 минут
может кто переделать мой код?

Добавлено через 47 минут
Цитата Сообщение от asdasdasdasdgg Посмотреть сообщение
bool operator<(SYLLABLE syllable1, SYLLABLE syllable2) {
bool result = syllable1.Word < syllable2.Word;
return result;
}
void IT::sort() {
std::sort(this->Syllables.begin(), this->Syllables.end());
}
Переделайте этот код, чтобы сортировал по букве 'а', пожалуйста... Или киньте свой вариант сортировки по букве 'а'.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 16:32     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL
Еще ссылки по теме:

Сортировка строк STL - C++
Подскажите пожалуйста как работает эта программа #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; ...

Сортировка массива с использованием алгоритма стандартной библиотеки шаблонов Sort() - C++
6.Напишите программу на языке программирования С++, сортирующую массив с использованием алгоритма стандартной библиотеки шаблонов sort().

Библиотека стандартных шаблонов STL - C++
1. Создайте пустой целочисленный вектор и поместите в него 10 случайных чисел с интервалом значений от -15 до 15. 2. Напишите две...

Использование стандартных компонентов stl - C++
Помогите реализовать задачу с помощью stl Даны натуральное число n, действительные числа a1, ... , a2n . Вычислить (задание на снимке) я...

Наследование стандартных классов STL - C++
Добрый день. Проблема такая: мне нужно создать свой класс, который будет наследоваться от класса multimap, определенного в стандартной...


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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.03.2013, 16:32     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL #8
Цитата Сообщение от asdasdasdasdgg Посмотреть сообщение
Переделайте этот код, чтобы сортировал по букве 'а', пожалуйста... Или киньте свой вариант сортировки по букве 'а'.
Цитата Сообщение от go Посмотреть сообщение
вариантов много. Первое, что приходит в голову это функтор.
Как это сделать я сказал. В чем трудности?
Yandex
Объявления
17.03.2013, 16:32     Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL
Ответ Создать тему
Опции темы

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