Professional Documents
Culture Documents
Produs cartezian
#include <iostream>
using namespace std;
int st[100],n,x=0;
void tipar()
{
x++; cout<<x<<".";
for(int i=1; i<=n; i++)
cout<<st[i]<<" ";
cout<<endl;
}
void back(int k)
{
for(int i=1; i<=n; i++)
{
st[k]=i;
if(k==n) tipar();
else back(k+1);
}
}
int main()
{
cin>>n;
back(1);
}
II.Aranjamente
#include <iostream>
int st[100],n,p,x=0;
int valid(int k)
{int i;
for (i=1;i<k;i++)
if(st[k]==st[i] ) return 0;
return 1;
void tipar()
x++; cout<<x<<".";
cout<<st[i]<<" ";
cout<<endl;
}
void back(int k)
st[k]=i;
if(valid(k))
if(k==p) tipar();
else back(k+1);
int main()
cin>>n>>p;
back(1);
2. Se citesc doua numere naturale n si p (n,p<=10) . Afisati toate submultimile cu m elemente ele
multimii A = {1,2,3….,n} in care nu exista doua elemente pare alaturate.
#include <iostream>
int st[100],n,p,x=0;
int valid(int k)
{int i;
for (i=1;i<k;i++)
return 1;
}
void tipar()
x++; cout<<x<<".";
cout<<st[i]<<" ";
cout<<endl;
void back(int k)
st[k]=i;
if(valid(k))
if(k==p) tipar();
else back(k+1);
int main()
cin>>n>>p;
back(1);
3. Se citesc doua numere naturale n si m (n,m<=10) si apoi o multime A cu n elemente naturale ordonate
crescator. Afisati toate submultimile cu m elemente ele multimii A in care nu exista doua elemente pare
alaturate. Exemple: n=5, m=3 si A={1,4,6,7,9} => {1, 4, 7} {1,4,9}, {1,6,7}, {1,6,9}...
#include <iostream>
using namespace std;
int a[100],st[100],n,p,x=0;
int valid(int k)
{int i;
for (i=1;i<k;i++)
return 1;
void tipar()
x++; cout<<x<<".";
cout<<a[st[i]]<<" ";
cout<<endl;
void back(int k)
st[k]=i;
if(valid(k))
if(k==p) tipar();
else back(k+1);
int main()
cin>>n>>p;
for(int i=1;i<=n;i++)
cin>>a[i];
back(1);
4.STEAG
Se dau urmatoarele 6 culori: alb, galben, rosu, verde, albastru si negru. Construiti toate steagurile
formate din 3 culori.
#include <iostream>
char a[6][10];
int st[100],n,p,x=0;
int valid(int k)
{int i;
for (i=1;i<k;i++)
if(st[k]==st[i]) return 0;
return 1;
void tipar()
x++; cout<<x<<".";
cout<<a[st[i]]<<" ";
cout<<endl;
void back(int k)
{
for(int i=1; i<=n; i++)
st[k]=i;
if(valid(k))
if(k==p) tipar();
else back(k+1);
int main()
cin>>n>>p;
for(int i=1;i<=n;i++)
{cin.get();
cin.get(a[i],9);
back(1);