#include "NKA.h"
#include "DKA.h"
#include <iostream>
#ifndef ROZDELENIE_H
#define ROZDELENIE_H


class Rozdelenie
{
    public:
        Rozdelenie(int stav, int abeceda);
        virtual ~Rozdelenie();
        void GenerujVsetky(bool NKAminimal, bool cNKA, bool DKAminimal);
        void GenerujNahodne(bool NKAminimal, bool DKAminimal, int ntestov, double pravdepodobnost_prechodu, double pravdepodobnost_akcstavu);
        void GenerujNahodne(bool NKAminimal, bool DKAminimal, int ntestov, double pravdepodobnost_prechodu, double pravdepodobnost_prechodu_pre0, double pravdepodobnost_akcstavu);
        void GenerujNahodne(bool NKAminimal, bool DKAminimal, int ntestov, int ohranicenie_delty, double pravdepodobnost_akcstavu);
        void HladajVsetky(bool NKAminimal, bool DKAminimal, int hlad_stavov);
        void HladajNahodne(bool NKAminimal, bool DKAminimal, int ntestov, double pravdepodobnost_prechodu, double pravdepodobnost_akcstavu, int hlad_stavov);
        void HladajNahodne(bool NKAminimal, bool DKAminimal, int ntestov, double pravdepodobnost_prechodu, double pravdepodobnost_prechodu_pre0, double pravdepodobnost_akcstavu, int hlad_stavov);
        void HladajNahodne(bool NKAminimal, bool DKAminimal, int ntestov, int ohranicenie_delty, double pravdepodobnost_akcstavu, int hlad_stavov);
        void vypis();
    protected:
    private:
        int nstav;
        int nabeceda;
        int * pocty;
};

#endif // ROZDELENIE_H
