Răspuns :
Răspuns:
#include <iostream>
#include <cstring>
#define MAX 10
using namespace std;
int n,v[MAX] ;
int valid(int k);
int solutie(int k);
void afisare(int k);
void BK(int k);
int main()
{cout<<"n= "; cin>>n;
BK(1);
return 0;
}
void BK(int k)
{int i;
for (i=1;i<=n;i++)
{v[k]=i;
if (valid(k))
{if (solutie(k))
afisare(k);
else
BK(k+1);
}
}
}
int valid(int k)
{int i;
char voc[]="aei";
for (i=1;i<=k-1;i++)
if (v[i]==v[k] || (strchr(voc,(char)(v[k]+96)) && strchr(voc,(char(v[k-1]+96)))))
return 0;
return 1;
}
int solutie(int k)
{if (k==n)
return 1;
return 0;
}
void afisare(int k)
{int i;
for (i=1;i<=k;i++)
cout<<(char)(v[i]+96)<<" ";
cout<<endl;
}
Explicație:
parcă e aşa... este o problemă.. pentru n mai mic ca 5 afişează toate sirurile, dar pentru n mai mare nu se văd toate... adică nu le văd pe cele generate primele...
Am lăsta la afişare spaţiu între caractere. Dacă vrei, îl ştergi
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că resursele disponibile v-au fost de ajutor. Pentru întrebări sau asistență suplimentară, nu ezitați să ne contactați. Ne bucurăm să vă revedem în curând și vă invităm să ne salvați în lista de site-uri preferate!