Răspunsuri

Cel mai inteligent răspuns!
2014-03-27T00:11:12+02:00
#include<iostream>
using namespace std;
int main()
{int n,i,k ,a[20] , aux[20], s;
cout<<"n=";cin>>n;for(i=1;i<=n;i++)
{cout<<"a["<<i<<"]=";cin>>a[i]; aux[i]=0;}cout<<"k=";
cin>>k;
cout<<"submultimi:\n";do{aux[n]++;for(i=n;i>=2;i--)   
 if(aux[i]>1)     
  {aux[i]=0;    aux[i-1]++;}
s=0;
for(i=1;i<=n;i++) s+=aux[i];
if(s==k){for(i=1;i<=n;i++)

        if(aux[i]==1)    cout<<a[i]<<" ";    cout<<endl;}

} while(s<n);


return 0;}

Din cate am inteles , problema ta se refera la submultimi. Lui k ii vei da 2 pt ca tu vrei sa fie de forma (a;b). n= numar natural care va determina nr de componente ale vectorului si iti va determina submultimile de forma (a;b)
1 5 1