El uso de funciones recursivas en programación en C++ aplicado al problema de la mochila.
#include
usando el espacio de nombres std;
int list1[10];
//insersorrt function
void sort( int lista[],int tamaño)
{
for(int i=0;i { int max=lista[i]; int k; for(k=i-1;k>=0&&list[k]& gt;max;k--) { lista[k+1]=lista[k]; } lista[k+1]=max ; } } } void fun(int x,int y,int z,int list[].int m) { if(z==m) { for(int i=0;i cout< cout< } más { for(x;x<10;x++) { if(lista[x]<=m-z) { lista1[y]=lista[x]; fun(x+1, y+1,z+lista[x],lista ,m); } } } } } int main() { int list[10]; //declarar un array //cin el array en circulación for(int i=0;i<10;i++) cin>>list[i]; //ordena la matriz en orden de inserción sortt(list, 10); //Ingrese el número a funcionalizar int m; cin>>m; //Usa la función recursiva para descomponer el número m fun(0,0,0,list,m); return 0; }