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

Рекурсия. Комбинаторика. Размещения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread112620.html
по практике дали, не могу сделать( Для заданной квадратной матрицы порядка n поменять местами элементы главной и побочной диагоналей. Найти сумму элементов в четных строках, расположенных ниже главной диагонали. Добавлено через 42 секунды кто сможет помогите))
C++ Builder Упорядочить строки матрицы по неубыванию их первых элементов вот задача: Дана матрица размером NxM. Упорядочить ее строки по неубыванию их первых элементов. вот кусок программы на си булдер : не пойму почему прога зависает при выполнении этой процедуры((( уважаемые программисты помогите советом //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { int min,m,l ; http://www.cyberforum.ru/cpp-beginners/thread112597.html
Читать с консола и записать в файл C++
что здесь не так? #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main() { ofstream my_tekst("my_text.txt");
C++ int main() или int main(void)?
Показать, что функция не принимает никаких аргументов можно с помощью void. В языке С++ (не в С) принятно, что пустые скобки равнозначны void. (В языке С пустые скобки означают что вы ничего не собщаете о наличии аргументов ) чем отличается : не сообщаю о наличии аргументов функция не принимает никаких аргументов.......
C++ Перевод из pascal в С http://www.cyberforum.ru/cpp-beginners/thread112558.html
Program pr4_1; uses crt; var firstmaxpos, lastminpos, n, i :integer; x, MAX,MIN :real; Begin Clrscr; Write(' Сколько чисел в последовательности ? '); read(n); Write(' Введите первое число ');read(x); MAX:= x; FirstMaxpos := 1;
C++ Использования шаблонов КЛАССОВ Привет!!! Кто может помочь с заданием, и его объяснить: 1).Создать шаблон класса однонаправленный список list.Определить конструкторы, деструктор, перегруженную операцию присваивания (“=”) и операции: - «» − доступ к элементу в заданной позиции, например: Type c; int i; list L; c=L; - «+» − объединить два списка; - «!=» − проверка на неравенство подробнее

Показать сообщение отдельно
Alex5
883 / 618 / 81
Регистрация: 12.04.2010
Сообщений: 1,552
13.04.2010, 23:37     Рекурсия. Комбинаторика. Размещения
Массив a[] содержит k различных элементов из n возможных FIRST, FIRST+1, FIRST+2, ... FIRST+(n-1)
Функция Next() строит новое размещение и возвращает true.
Или, если все размещения ( из n по k ) перебрали, возвращает false.
Пример. n=3, k=2 a[] : 1 2
вызываем Next() a[] : 1 3 возвращаемое значение : true
вызываем Next() a[] : 2 1 возвращаемое значение : true
вызываем Next() a[] : 2 2 возвращаемое значение : true
вызываем Next() a[] : 3 1 возвращаемое значение : true
вызываем Next() a[] : 3 2 возвращаемое значение : false
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
#define FIRST 1
 
// true : i > 0 and there exists a[i0] == a[i] for  0 <= i0 <= i-1
bool HasCoincidence( int i, int a[] );
 
// create next k-permutation of  n  elements
// true : success;   false : fails, no permutations
bool Next ( int n,  int k, int a[] )
{
    if ( k <= 0 )    return false;
 
    do{
        a[k-1]++;
 
        if ( a[k-1] >= FIRST + n )
        {
            a[k-1] = FIRST;
            if ( ! Next( n, k-1, a ) )    return false;
        
        }
    
    } while( HasCoincidence( k-1, a ) ); 
    // while   a[k-1]   coincides with some of a[0], a[1], ... , a[k-2]
 
 
    return true;
}
 
Текущее время: 00:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru