Prin procedeul de listare se afisaza anumiti parametri dar si ordoneaza in functie.
#include <iostream>
#include <string.h>
using namespace std;
struct nod
{
int v,kg,nm;
char nume[10], prenume[10],clasa[5];
nod*next;
};
nod *prim,*c,*a,*ultim;
void creere_aduagare()
{
if(prim=NULL)
{
prim=new nod;
cout<<"Varsta este:";
cin>>prim->v;
cout<<"Numele este:";
cin>>prim->nume;
cout<<"Prenumele este:";
cin>>prim->prenume;
cout<<"Clasa este:";
cin>>prim->clasa;
cout<<"Greutatea =";
cin>>prim->kg;
cout<<"Nota la matematica=";
cin>>prim->nm;
prim->next=0;
ultim=prim;
}
else
{
c=new nod;
cout<<"Varsta este:";
cin>>c->v;
cout<<"Numele este:";
cin>>c->nume;
cout<<"Prenumele este:";
cin>>c->prenume;
cout<<"Clasa este:";
cin>>c->clasa;
cout<<"Greutatea =";
cin>>c->kg;
cout<<"Nota la matematica=";
cin>>c->nm;
ultim=c;
ultim->next=0;
}
}
void listare()
{
c=prim;
while(c!=0)
{
cout<<"Varsta este "<<c->v;
cout<<"Numele este "<<c->nume;
cout<<"Prenumele este "<<c->prenume;
cout<<"Clasa este "<<c->clasa;
cout<<"Greutatea este =" <<c->kg;
cout<<"Nota la matematica =";<<c->nm;
c=c->next;
}
cout>>endl;
}
{
c=prim;
while(c!=0)
{
cout<<"Varsta este "<<c->v;
cout<<"Numele este "<<c->nume;
cout<<"Prenumele este "<<c->prenume;
cout<<"Clasa este "<<c->clasa;
cout<<"Greutatea este =" <<c->kg;
cout<<"Nota la matematica =";<<c->nm;
c=c->next;
}
cout>>endl;
}
int ordonare()
{
{
Nod *c;
int ord,aux;
do
{
int ord,aux;
do
{
c=prim;
ord=1;
while(c->next)
{if(c->v > c->next->v)
{aux=c->v;
c->v=c->next->v;
c->next->v=aux;
ord=0;
}
c=c->next;}
}while(ord==0);
}
int nr_legatura()
{
while (c!=0)
{
if(c->v < c->next->v)
r=c->v;
}
return r;
}
void gasire_n(int y)
{
while(c!=0)
{
if(c->v!=y)
{ cout<<" Numele elevului cu varst acea mai mica este="<<c->nume;
cout<<"Prenumele elvului cu varst acea mai mica este="<<c->prenume;}
}
}
void varste_impare();
{
c=prim;
if(c==NULL)
{
cout<<" numelevului cu varsta impara este="<<c->nume;
cout<<"prenumele elevului cu varta impara este="<<c->prenume;
c->next=o;
ultim=c;
}
else
{if(c->v!=1)
{
cout<<" numelevului cu varsta impara este="<<c->nume;
cout<<"prenumele elevului cu varta impara este="<<c->prenume;
}
ultim=c;
ultim->next=0;}
}
int main()
{ int n,i, z;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
creere_aduagare();
}
z=nr_legatura();
gasire_n(z);
varste_impare();
}
ord=1;
while(c->next)
{if(c->v > c->next->v)
{aux=c->v;
c->v=c->next->v;
c->next->v=aux;
ord=0;
}
c=c->next;}
}while(ord==0);
}
int nr_legatura()
{
while (c!=0)
{
if(c->v < c->next->v)
r=c->v;
}
return r;
}
void gasire_n(int y)
{
while(c!=0)
{
if(c->v!=y)
{ cout<<" Numele elevului cu varst acea mai mica este="<<c->nume;
cout<<"Prenumele elvului cu varst acea mai mica este="<<c->prenume;}
}
}
void varste_impare();
{
c=prim;
if(c==NULL)
{
cout<<" numelevului cu varsta impara este="<<c->nume;
cout<<"prenumele elevului cu varta impara este="<<c->prenume;
c->next=o;
ultim=c;
}
else
{if(c->v!=1)
{
cout<<" numelevului cu varsta impara este="<<c->nume;
cout<<"prenumele elevului cu varta impara este="<<c->prenume;
}
ultim=c;
ultim->next=0;}
}
int main()
{ int n,i, z;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
creere_aduagare();
}
z=nr_legatura();
gasire_n(z);
varste_impare();
}
Niciun comentariu:
Trimiteți un comentariu