Din fisierul text AVIOANE.TXT se citesc: n, codurile celor n avioane,
urmate de o insiruire de DA si NU (date de conditiile atmosferice).
Afisati:
a) coada initiala
b) ordinea in care decoleaza avioanele si numarul de incercari de decolare ale fiecarui avion
Obs: avioanele care decoleaza se sterg din lista.
Ex: daca AVIOANE.TXT: 3 111 222 333 DA NU NU NU DA DA DA DA
Avioanele decoleaza in ordinea: 111 o incercare(prima)
333 2 incercari
222 3 incercari
#include<iostream>Fisier
#include<fstream>
using namespace std;
struct nod{
int cod,nr;
nod* urm;};
void adaugare(nod* &prim, nod* &ultim, int cod, int nr)
{nod* p=new nod;
p->cod=cod;
p->nr=nr;
p->urm=NULL;
if(prim==NULL)
prim=p;
else ultim->urm=p;
ultim=p;}
void stergere(nod* &prim)
{nod* p;
p=prim;
prim=prim->urm;
delete p;
}
void afisare(nod* prim)
{if(prim==NULL)
cout<<"Coada goala";
cout<<prim->cod<<" | din a "<<prim->nr<<"-a incercare"<<endl;
}
int main()
{int n,cod,nr,i;
ifstream f("date");
nod* prim=NULL;
nod* ultim=NULL;
f>>n;
while(n)
{f>>cod;
n--;
adaugare(prim,ultim,cod,0);
}
char a[3];
while(prim)
{f>>a;
if(strcmp(a,"DA")==0)
{prim->nr++;
cout<<"Decoleaza ";
afisare(prim);
stergere(prim);}
else {prim->nr++;
adaugare(prim,ultim,prim->cod,prim->nr);
stergere(prim);}
}
}
3 111 222 333 DA NU NU NU DA DA