Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail



Ответ
 
Опции темы
Старый 21.11.2017, 18:30   #1
DarkJoker
Пользователь
 
Регистрация: 12.08.2014
Сообщений: 15
Репутация: 10
Вопрос код генератора фраз(дописать длину)

Здравствуйте, нашел код который из слов генерирует некое предложение.
если запустить сейчас код, он будет выводить предложения из 3 слов, мне нужно что бы при увеличении количества слов в std::vector<std::string> seq{ "abc", "def", "ghi" };, длина выводимых слов осталась 3, но при этом что бы комбинировала правильно и без ошибок.

Код:

#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <iostream>
#include <iomanip>
 
int main()
{
    std::vector<std::string> seq{ "abc", "def",  "ghi" };
 
    std::set< std::vector<std::string> > unique_permutations;
 
    do unique_permutations.emplace(seq.begin(), seq.end());
    while (std::next_permutation(seq.begin(), seq.end()));
 
    for (const auto& seq : unique_permutations)
    {
        static int n = 0;
        std::cout << std::setw(3) << ++n << ". ";
        for (const auto& str : seq) std::cout << str << ' ';
        std::cout << '\n';
    }
}

DarkJoker вне форума   Ответить с цитированием
Старый 21.11.2017, 18:44   #2
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Адрес: Беларусь,город брест
Сообщений: 75
Репутация: 10
По умолчанию

Тебе путь к разделу Фриланс.
Либо сам делай либо плати.

Запомни: решите! = сделайте за меня

Я вообще не понял что ты хочешь.
Нужно чтобы слова по 3 генерировались?
SerEngine вне форума   Ответить с цитированием
Старый 21.11.2017, 18:50   #3
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 22,820
Репутация: 5078
По умолчанию

Цитата:
Сообщение от SerEngine Посмотреть сообщение
Нужно чтобы слова по 3 генерировались?
скорее всего.

у него (см. вики) "перестановка"
Цитата:
Перестановкой из n элементов (например чисел 1,2,…,n) называется всякий упорядоченный набор из этих элементов. Перестановка также является размещением из n элементов по n.
а ему нужно "размещение"
Цитата:
Размещением из n элементов по k называется упорядоченный набор из k различных элементов некоторого n-элементного множества.
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать код программы, вычисляющей длину линии вертикального разреза фигуры KASATKA_AA Паскаль 1 02.10.2016 10:28
В строке после каждого слова дописать ее длину. Dira Помощь студентам 7 24.02.2015 16:54
не получается дописать код С mobydick Общие вопросы C/C++ 7 22.10.2012 10:08
Помогите дописать код.. CodeExpert Помощь студентам 3 09.11.2009 10:38
Дописать код в файл! Trol-100 Общие вопросы C/C++ 8 24.10.2009 17:49




13:59.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru