Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- using namespace std;
- class Kulka
- {
- public:
- int wartosc;
- Kulka *next;
- Kulka *lewe_d;
- Kulka *prawe_d;
- Kulka()
- {
- wartosc = rand() % 100 + 100;
- next = NULL;
- lewe_d = NULL;
- prawe_d = NULL;
- }
- Kulka(int wartosc)
- {
- this->wartosc = wartosc;
- next = NULL;
- lewe_d = NULL;
- prawe_d = NULL;
- }
- void show_l()
- {
- cout << "Wartosc kulki: " << wartosc << endl;
- if (next != NULL)
- next->show_l();
- }
- void dodaj_l(Kulka *nowa)
- {
- if (next != 0)
- {
- if (nowa->wartosc<next->wartosc)
- {
- next->dodaj_l(nowa);
- }
- else
- {
- nowa->next = next;
- next = nowa;
- }
- }
- else
- next = nowa;
- }
- void srednia(double &sredn, int &liczn)
- {
- sredn = sredn + wartosc;
- if (next != NULL)
- next->srednia(sredn, liczn);
- else
- sredn = sredn / liczn;
- }
- void powysred(double &sredn)
- {
- if (wartosc>sredn)
- cout << "Wartosc kulki w sortowanej: " << wartosc << endl;
- if (next != NULL)
- next->powysred(sredn);
- }
- void powysred(double &sredn, Kulka *&lista2)
- {
- if (wartosc > sredn) {
- cout << "Wartosc kulki w sortowanej: " << wartosc << endl;
- Kulka *temp = NULL;
- temp = new Kulka(wartosc);
- lista2->dodaj_l(temp);
- }
- if (next != NULL)
- next->powysred(sredn);
- }
- };
- int main()
- {
- Kulka *nowa = NULL;
- Kulka *lista = NULL;
- Kulka *lista2 = NULL;
- double srednia = 0;
- int licznik = 0;
- for (int i = 0; i<10; i++)
- {
- nowa = new Kulka();
- if (lista == NULL)
- lista = nowa;
- else
- {
- if (lista->wartosc < nowa->wartosc)
- {
- nowa->next = lista;
- lista = nowa;
- }
- else
- {
- lista->dodaj_l(nowa);
- }
- }
- licznik++;
- }
- lista->show_l();
- lista->srednia(srednia, licznik);
- cout << "Srednia: " << srednia;
- cout << endl;
- cout << "Lista powyzej: " << endl;
- //lista->powysred(srednia);
- lista->powysred(srednia,lista2);
- lista2->show_l;
- cout << "Lista sort: " << endl;
- lista->show_l();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement