joi, 27 februarie 2014

Liste problema acasa

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;
    }

    int  ordonare()
    {
         Nod *c;
         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();



}

Niciun comentariu:

Trimiteți un comentariu

Pointeri

  Prezentare generală  Un pointer este o variabilă care are ca valoare  o adresă din memoria internă a calculatorului  , această adresă ap...