Здравствуйте дорогие. Подскажите пожалуйста как в данной программе сделать так чтобы функция int findMin( int value, std::array<int, 3> coins ) принимала вторым параметром массив любого размера. Подозреваю что это можно сделать через шаблоны, возможно ли? Не хотелось бы вторым параметром делать всеж таки вектор потому что пропадает замечательная красивая инициализация с помощью списка. Вот программка которая считает как с помощью минимального количества монеток заданных номиналов собрать нужную сумму:
#include <vector>
#include <array>
#include <iostream>
int findMin( int value, const std::array<int, 3>& coins )
{
	std::vector<int> mins;
	mins.assign( value + 1, 100 );
	mins[0] = 0;
	for( int i = 0; i < value + 1; ++i )
	{
		for( int j = 0; j < coins.size(); ++j )
		{
			if( ( coins[j] <= i ) && ( mins[ i - coins[j] ] + 1 < mins[i] ) )
				mins[i] = mins[ i -coins[j] ] + 1;
		}
	}
	return mins.back();
}
int _tmain(int argc, _TCHAR* argv[])
{
	const std::array<int, 3> coins = { 1, 4, 5};
	std::cout << findMin(17, coins ) << std::endl;
	std::cout << findMin(11, coins ) << std::endl;
	std::cout << findMin(7, coins ) << std::endl;
	std::cin.get();
	return 0;
}





