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

Комбинаторика на С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Считывание данных из текстового файла и их запись в структурированный файл, сортировка данных в двоичном файле http://www.cyberforum.ru/cpp-beginners/thread845585.html
Файлы: В текстовом файле находится информация о рейсах самолетов (электронное расписа-ние рейсов). Каждая запись в расписании имеет следующий вид: номер рейса, день недели, время вылета, название пункта отправления, название пункта назначения и тип самолета. Необходимо выполнить: • считывание данных из текстового файла и их запись в структурированный файл (двоичный файл, содержащий структуры);...
C++ шаблон класса вектор В общем говоря нужно описать методы вектора и перегрузки операций. Во всех контейнерах для итераторов реализованы операции: =, ==, !=, *, ++. Вот что я сделал: template<class T> class vector { T * v; int ind, size; public: typedef T* iterator; http://www.cyberforum.ru/cpp-beginners/thread845581.html
Написать функцию чтения почтового сообщения с отдельным выводом заголовка, отправителя, получателя и самого письма C++
Номер письма вводится параметром функции.
Массивы. Вычислить: длину максимальной последовательности, количество элементов массива, сумму индексов C++
Помогите пожалуйста!!! заранее спасибо! В одномерном массиве, состоящем из целых элементов, вычислить: А) длину максимальной последовательности равных по значению элементов. Б) количество элементов массива, являющихся k-той степенью двойки (k=1,2,3,4,5). В) Найти сумму индексов отрицательных элементов.
C++ Создать массив , заполнить его случайными числами и найти в какой строке и каком столбце находится максимальный элемент http://www.cyberforum.ru/cpp-beginners/thread845538.html
Массив состоящий из N строк и M столбцов заполняется случайными числами от 0 до 100. Определить в какой строке и в каком столбце распологается максимальный элемент массива. Числа M и N вводятся с клавиатуры.
C++ Изучение метода блочной записи и чтения из файла изучение метода блочной записи и чтения из файла Некоторый завод выпускает N различных видов измерительных приборов, каждые из которых может быть охарактеризован одним из признаков: наименование прибора, стоимость, источник питания(напряжение, сила тока, частота), заказчик(заказчик1(название адрес).....заказчик к(название адрес)), Наконец, заказчик может сделать заказ на некоторое количество... подробнее

Показать сообщение отдельно
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
22.04.2013, 22:35     Комбинаторика на С++
gorus95, вот рабочий код
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
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
bool increase(vector<int> &vec, const int n)
{
    for (int i = vec.size() - 1; i >= 0; i--)
        if ( vec[i] + 1 <= n && find(vec.begin() + i + 1, vec.end(), vec[i] + 1) == vec.end() ) {
                ++vec[i];
 
            for (int j = i + 1; j < vec.size(); j++)
                vec[j] = vec[j - 1] + 1;
            return true;
        }
    return false;
}
 
void print(const vector<int> &vec)
{
    for (size_t i = 0; i != vec.size(); i++)
        cout << vec[i] << " ";
    cout << endl;
}
 
int main()
{
    setlocale(LC_CTYPE, "");
    // сочетания из n по k без повторений
    int n = 6;
    int k = 4;
    vector<int> vec(k);
    for (size_t i = 0; i != n; i++)
        vec[i] = i + 1;
 
 
    print(vec);
 
    while (increase(vec, n) )
        print(vec);
 
    return 0;
}
 
Текущее время: 18:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru