se citesc n nr.sa se afle toate modalitatile de afisare a nr a.i. 2 nr alaturate sa nu fie negative

#include<iostream.h>
int st[20],n,k,v[20];

void init()
{cout<<"n=";cin>>n;}

int valid(int k)
{for(int i=1;i<k;i++)
if(st[i]==st[k]) return 0;
if((v[st[k]]<0) && (v[st[k-1]]<0)) return 0;
return 1;}

int sol(int k)
{return (k==n);}

void tipar(int k)
{for(int i=1;i<=k;i++) cout<<v[st[i]];
cout<<endl;
}

void bkt(int k)
{int val;
for(val=1;val<=n;val++)
{st[k]=val;
if(valid(k))
if (sol(k)) tipar(k);
else bkt(k+1);
}
}

void main()
{cout<<"n=";cin>>n;
for(int i=1;i<=n;i++)cin>>v[i];
bkt(1);}

{joscommentenable}