Răspuns :
Răspuns:
#include <iostream>
#include <cstring>
using namespace std;
int st[20], n, i, j;
char s[20], aux, v[10]="aeiou";
void afisare(int k)
{
int i;
for(i=1;i<=k;i++)
cout<<s[st[i]];
cout<<endl;
}
int valid(int k)
{
int ev,i;
ev=1;
for(i=1;i<=k-1;i++)
if(st[k]==st[i])
ev=0;
if(k==1||k==n)
{if(strchr(v,s[st[k]])==0)
ev=0;}
return ev;
}
void back(int k)
{
int i;
for(i=0;i<=n-1;i++)
{
st[k]=i;
if(valid(k))
if(k==n)
afisare(k);
else
back(k+1);
}
}
int main()
{
cin>>s;
n=strlen(s);
for(i=0;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
if(s[i]>s[j])
{
aux=s[i];
s[i]=s[j];
s[j]=aux;
}
back(1);
return 0;}
Explicație:
Aici ai o rezolvare de 80 de puncte pe care am facut -o in clasa cu profesorul de info. El a zis ca nu se stie la ce functie de ordonare a cuvintelor s-a gandit autorul problemei incat sa dispara limita de timp depasita.
P.S:Daca cumva gasesti niste variabile in plus, sunt de la alta problema, nu te incurca cu nimic.
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.