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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!