Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4. using namespace std;
  5.  
  6. class Kulka
  7. {
  8.     public:
  9.     int v;
  10.     Kulka *next;
  11.     Kulka()
  12.     {
  13.         v=rand()%100;
  14.         cout<<"wartosc: "<<v<<endl;
  15.     }
  16.  
  17.     void show()
  18.     {
  19.     if(next)
  20.     {
  21.         next->show();
  22.         cout<<v<<" ";
  23.     }
  24.     }
  25.  
  26.     void licz1()
  27.     {
  28.     int suma=0;
  29.     int ilosc=0;
  30.     float wynik;
  31.     if(next)
  32.     {
  33.         next->show();
  34.         ilosc=ilosc+1;
  35.         suma=suma+next->v;
  36.     }
  37.         wynik=(suma/ilosc);
  38.         cout<<"parzysta: "<<wynik<<endl;
  39.     }
  40.  
  41.     void licz2()
  42.     {
  43.     int suma=0;
  44.     int ilosc=0;
  45.     float wynik;
  46.     if(next)
  47.     {
  48.         next->show();
  49.         ilosc=ilosc+1;
  50.         suma=suma+next->v;
  51.     }
  52.         wynik=(suma/ilosc);
  53.         cout<<"parzysta: "<<wynik<<endl;
  54.     }
  55.     void dodaj(Kulka *nowa)
  56. {
  57.     if(next)
  58.     {
  59.         if(next->v < nowa->v)
  60.             {
  61.         next->dodaj(nowa);
  62.             }
  63.         else
  64.             {
  65.         nowa->next =next;
  66.         next=nowa;
  67.             }
  68.     }
  69.     else
  70.     next=nowa;
  71. }
  72.  
  73. };
  74.  
  75. int main()
  76. {
  77.     srand(time(NULL));
  78.     Kulka *rootp =0; //lista parzysta
  79.     Kulka *rootnp =0;//lista nieparzysta
  80.     Kulka *t;
  81.     for (int i=0; i<30; i++)
  82.     {
  83.        t=new Kulka;
  84.        if (t->v%2 ==0)
  85.        {
  86.             if(!rootp)
  87.             rootp=t;
  88.             else
  89.             {
  90.                 if(t->v < rootp->v)
  91.                 {
  92.                 t->next=rootp;
  93.                 rootp=t;
  94.                 }
  95.                 else
  96.                 rootp->dodaj(t);
  97.             }
  98.        }
  99.        else
  100.             if(!rootnp)
  101.             rootnp=t;
  102.             else
  103.             {
  104.                 if(t->v < rootnp->v)
  105.                 {
  106.                 t->next=rootnp;
  107.                 rootnp=t;
  108.                 }
  109.                 else
  110.                 rootnp->dodaj(t);
  111.             }
  112.  
  113.     }
  114.     cout<<endl;
  115.     rootp->show();
  116.     cout<<endl;
  117.     rootnp->show();
  118.  
  119.  
  120.     return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement