You are on page 1of 2

#include<fstream.

h>
ifstream fin ("lista.in");
ofstream fout ("lista.out");
struct nod
{
char inf;
nod*urm;
};
nod*p, *u, *p1, *u1, *p2, *u2;
void inserare (nod *&p, nod *&u, char c)
{
nod *q;
q=new nod;
q->inf=c;
q->urm=0;
if (u==0)
p=u=q;
else
{
u->urm=q;
u=q;
}
}
void creare (nod *&p, nod *&u)
{
char c;
p=0;
u=0;
c=fin.get();
while (c!='*')
{
inserare (p, u, c);
c=fin.get();
}
}
void parcurgere (nod *p)
{
nod *q;
q=p;
while (q!=0)
{
fout<<q->inf;
q=q->urm;
}
fout<<'\n';
}
void crearelista (nod *p, nod *u, nod *&p1, nod *&u1, nod *&p2, nod *&u2)
{
nod *q;
p1=0;
p2=0;
u1=0;
u2=0;
q=p;
while (q!=0)
{
if (q-> inf=='a'|| q-> inf=='e' || q-> inf=='i' || q-> inf=='o'
|| q-> inf=='u')
inserare (p1, u1, q->inf);
else
inserare (p2, u2, q->inf);
q=q->urm;
}
}
int main ()
{
creare(p,u);
fin.close();
crearelista (p, u, p1, u1, p2, u2);
parcurgere(p);
parcurgere(p1);
parcurgere(p2);
fout.close();
return 0;
}

You might also like