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

Перебор комбинаций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оределение четных и нечетных числе массива http://www.cyberforum.ru/cpp-beginners/thread794830.html
Я организовал массив из 30 целых чисел, которые задаются случайным обаразом, и выводятся на экран все элементы данного массива. Помогите определить, являются ли элементы массива четными и...
C++ Найти в последовательности числа, которые делятся на свою последнюю цифру Помогите пожалуйста!!!!задача на С++ Дана последовательность.Длина последовательности целых чисел – случайное число от 10 до 30.В выходную последовательность записать только те числа, которые делятся... http://www.cyberforum.ru/cpp-beginners/thread794819.html
работа с бинарными файлами (Проверить имеются ли в нем элементы, значения которых больше нуля) C++
Здравствуйте, есть вот такая вот задача, ввести в бинарный файл вещественные числа,затем прочитать его и вывести максимально число стоящее на не четной позиции, НО сделать это нужно с помощью fseek...
C++ Найти первое отрицательное число в последовательности и сообщить порядковый номер
Помогите пожалуйста на С++ задача: Дана последовательность.Длина последовательности целых чисел – случайное число от 10 до 30. Найти первое отрицательное число и сообщить порядковый номер, в случае...
C++ Перегрузка операторов http://www.cyberforum.ru/cpp-beginners/thread794805.html
Даны два одномерных массива. Необходимо сделать перегрузку разности ( - ) этих массивов с получением этого массива.
C++ Почему не запоминается правильно итератор вектора? Почему, если сделать что-то такое: #include <iostream> #include <vector> using namespace std; int main () { vector <char> vector_of_char; подробнее

Показать сообщение отдельно
Ryabchik
18 / 18 / 1
Регистрация: 09.01.2013
Сообщений: 163

Перебор комбинаций - C++

25.02.2013, 21:04. Просмотров 644. Ответов 5
Метки (Все метки)

Доброго времени суток. Нашел в сети картинку - генератор речей. 4 столбика по 6 фраз в каждом. При переборе слева направо получается связная "общая" фраза.
Перебор комбинаций.
Решил написать программку, которая бы собрала все комбинации этих фраз. Забил их в файл, считываю и соединяю.
Но почему то она обрывается, записав только 1080 комбинаций.
Дело в алгоритме или в чем?

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
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <cstring>
#include <fstream>
 
using namespace std;
 
int main ()
{
    const int x = 6; //число фраз в столбце
    const int y = 100; // максимальный размер фразы
     
    char one [x] [y]; //первый столбик
    char two [x] [y]; // второй
    char three [x] [y]; // третий
    char four [x] [y]; // четвертый
    
    ifstream a ("text.txt", ios :: in); //файл с фразами
    
    for (int i = 0; i < x; i++)
    { a >> one [i]; }
    
    for (int i = 0; i < x; i++)
    { a >> two [i]; }
    
    for (int i = 0; i < x; i++)
    { a >> three [i]; }
    
    for (int i = 0; i < x; i++)
    { a >> four [i]; }
    
    a.close();
    
    ofstream b ("main.txt", ios :: ate, ios :: out);
 
    for (int m = 0; m < x; m++) // первый столбик
    {
        cout << m << endl; // следим за числом проходов
            
        for (int l = 0; l < x; l++) // второй столбик
        {
            for (int k = 0; k < x; k++) // третий столбик
            {
                for (int j = 0; j < x; j++) //четвертый столбик
                {
                    strcat (one [m], " ");
                    strcat (one [m], two [l]);
                    strcat (one [m], " ");
                    strcat (one [m], three [k]);
                    strcat (one [m], " ");
                    strcat (one [m], four [j]);
            
                    b << one [m] << endl; //запись в файл
        
                    strcpy (one [m], ""); // очищаем строку
                }
            }   
        }   
    }
    
    b.close();
}
Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru