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

Сочетание из n по k - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сосчитать количество букв "О" за которыми следует буква "С" http://www.cyberforum.ru/cpp-beginners/thread590226.html
дан текст,состоящий из заглавных русских букв,сосчитать количество букв О,за которыми следует С.если нету то выдать сообщение
C++ подсчитать длину каждой строки Программа считывает из файла текст и выводит только те слова которые начинаются на гластную букву.Она работает. Надо сделать дополнительный пунктик: на против каждой строки должна стоять цифра длинны строки. #include <stdio.h> #include <string> #include "stdafx.h" #include "fstream" #include "conio.h" http://www.cyberforum.ru/cpp-beginners/thread590215.html
Неполное LU разложение C++
Помогите кто-нибудь написать на С неполное LU разложение матрицы. Мне оно нужно как предобуславливатель для решения СЛАУ итерациями. Матлабовская команда снижает число обусловленности со 170 до 3.3. То, что я пишу - минимум до 55. С уважением Крестин.
C++ ребят трабл 1 ошибка,никак не могу найти
#include <iostream> #include <stdio.h> using namespace std; int main(){ int A; for(int i=0; i<3; i++){ for(int j=0; j<3; j++){ cout<<"vvesti znachenie dlya A"<<i+<<j+1<<"=";
C++ Найти два наименьших числа http://www.cyberforum.ru/cpp-beginners/thread590198.html
Найти два наименьших числа, которые начинаются на 5 и из которых, перенеся первую цифру в конец, можно получить новое число, в 5 раз меньшее, чем искомое. на Си++
C++ Возможно ли вернуть из функции ссылку на массив Чисто из интереса появился такой вопрос. Если в функцию можно передать массив по ссылке: void print(int (&arr)) { arr=1111; } подробнее

Показать сообщение отдельно
David Villa
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 6

Сочетание из n по k - C++

29.05.2012, 14:38. Просмотров 925. Ответов 0
Метки (Все метки)

Здравствуйте. У меня дан массив объектов класса, мне надо написать функцию, которая перебирает все возможные варианты сочетаний этих элементов. В функцию должны передаваться сам массив и число K(по сколько элементов в каждом сочетании)

Вот нашел такую функцию, но она просто перебирает элементы от 1 до n и сразу их выводит, никуда не записывая. Что можно здесь изменить для решения моей задачи?

Код
#include<conio.h>
#include <iostream>
#include <vector>

using std::vector;
using std::cin;
using std::cout;
using std::endl;

int n, k;
vector<int> v;

void comb(int num)
{
	if(num > k)
	{
		for(int i=1; i<=k; i++)
			cout << v[i];
		cout << endl;
		return;
	}
	v[num] = v[num-1]+1;
	while(v[num] <= n)
	{
		comb(num+1);
		v[num]++;
	}
	return;
}


int main(void)
{
	cin >> n >> k;
	v.resize(k+1);
	v[0]=0;
	comb(1);
        getch();
	return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru