Pagini recente » Monitorul de evaluare | Istoria paginii runda/contest1234/clasament | Istoria paginii runda/cosmin_oni2018z2/clasament | bob | Cod sursa (job #385087)
Cod sursa(job #385087)
//nr 2
#include<iostream.h>
int n,ok,x[20];
struct nod{
float inf;
nod *dr,*stg;};
nod *p,*u;
//a)
void creare(){
c=new nod;
nod *c;
c=new nod;
cin>>c->inf;
c->stg=c->dr=NULL;
p=u=c;
for(int i=1;i<n;i++)
c=new nod;
cin>>c->inf;
u->dr=c;
c->stg=u;
c->dr=NULL;
u=c;
}
void afisare(){
nod *c;
while(c){
cout<<c->inf<<" ";
c=c->dr;
}
}
//b)
void produs(){
int i;
long pr=1;
c=p;
while(c){
if(c->inf==int(c->inf))
pr=pr*c->inf;
c=c->adr;}
cout<<pr;
}
//c)
void inserare(){
nod *c,*nou;
c=u;
for(int i=1;i<=n;i++)
c=c->dr;
nou=new nod;
cin>>nou->inf;
nou->dr=c->dr;
c->dr->stg=nou;
nou->stg=c;
c=dr=nou;
}
//d)
void verificare(){
nod *c;
c=p;ok=0;
for(i=1;i<=n;i++){
if(c->inf<c->adr->inf){
ok=1;
if(ok==1)
cout<<"informatiile sunt crescatoare"<<" ";
else cout<<"informatiile sunt descrescatoare"<<" ";
cout<<endl;}
}
}
//e)
void stergere(){
nod *c,*d;
c=p;
while(c->dr->inf!=x){
c=c->dr;
d=c->dr;
}
c->dr=d->dr;
d->dr->stg=c;
delete d;
}
int main(){
cin>>n;
creare();
afisare();
produs();
inserare();
verificare();
stergere();
return 0;
}