예제 #1
0
        /// <summary>
        /// aktyviausio autoriaus klausimų kiekio metodas
        /// </summary>
        /// <param name="klausimas"></param>
        /// <param name="DaugiausiaiKlausimuAtstovybese"></param>
        /// <returns>metodas grąžina iš kiekvienos atstovybės aktyviausio autoriaus klausimų kiekį</returns>
        public int DaugiausiaiKlausimuAtstovybese(Atstovybes AtstovybiuPav, DaugiausiaKlausimuAtskirai autoriaiAts)
        {
            int    klausimuskaicius = 0;
            int    laikinasklausimuskaicius;
            string laikinasvardas = AtstovybiuPav.Klausimai.GautiKlausima(0).Autorius;

            for (int i = 0; i < AtstovybiuPav.Klausimai.kiekKlausimu; i++)
            {
                laikinasvardas           = AtstovybiuPav.Klausimai.GautiKlausima(i).Autorius;
                laikinasklausimuskaicius = 1;

                for (int j = i + 1; j < AtstovybiuPav.Klausimai.kiekKlausimu; j++)
                {
                    if (AtstovybiuPav.Klausimai.GautiKlausima(j).Autorius == laikinasvardas)
                    {
                        laikinasklausimuskaicius++;
                    }
                }

                if (laikinasklausimuskaicius > klausimuskaicius)
                {
                    klausimuskaicius = laikinasklausimuskaicius;

                    autoriaiAts.IstrintiAutorius();
                    autoriaiAts.PridetiAutoriu(laikinasvardas);
                }

                if (laikinasklausimuskaicius == klausimuskaicius && !autoriaiAts.Autoriai.Contains(laikinasvardas))
                {
                    autoriaiAts.PridetiAutoriu(laikinasvardas);
                }
            }

            return(klausimuskaicius);
        }
예제 #2
0
        /// <summary>
        /// metodas skirtas nuskaityti duomenis
        /// </summary>
        /// <param name="AtstovybiuPav"></param>
        /// <param name="maxKlausimuKiekis"></param>
        /// <param name="atstovybiuKiekis"></param>
        public void Skaitymas(ref Atstovybes[] AtstovybiuPav, int maxKlausimuKiekis, ref int atstovybiuKiekis)
        {
            string[] DuomenuVieta = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.csv");

            foreach (string failas in DuomenuVieta)
            {
                using (StreamReader skaityti = new StreamReader(@failas, Encoding.GetEncoding(1257)))
                {
                    string     eilute     = skaityti.ReadLine();
                    Atstovybes atstovybes = new Atstovybes(eilute, maxKlausimuKiekis);

                    while ((eilute = skaityti.ReadLine()) != null)
                    {
                        string[] dalys = eilute.Split(';');

                        string Tema               = dalys[0];
                        int    Sudėtingumas       = int.Parse(dalys[1]);
                        string Autorius           = dalys[2];
                        string KlausimoTekstas    = dalys[3];
                        string AtsakymoVariantai  = dalys[4];
                        string TeisingasAtsakymas = dalys[5];
                        int    Balai              = int.Parse(dalys[6]);

                        Klausimas klausimas = new Klausimas(Tema, Sudėtingumas, Autorius, KlausimoTekstas, AtsakymoVariantai, TeisingasAtsakymas, Balai);
                        atstovybes.Klausimai.PridetiKlausima(klausimas);
                    }
                    AtstovybiuPav[atstovybiuKiekis++] = atstovybes;
                }
            }
        }
        /// <summary>
        /// metodas grąžina didžiausią klausimų skaičių iš visų atsovybių
        /// </summary>
        /// <param name="atstovybe"></param>
        /// <param name="klausimuSkaicius"></param>
        /// <returns></returns>
        public int DaugiausiaiAtstovybejPaieska(Atstovybes atstovybe, int klausimuSkaicius)
        {
            int    laikinasKlausimuSkaicius;
            string vardas;

            for (int i = 0; i < atstovybe.Klausimai.kiekKlausimu; i++)
            {
                laikinasKlausimuSkaicius = 1;
                vardas = atstovybe.Klausimai.GautiKlausima(i).Autorius;

                for (int j = i + 1; j < atstovybe.Klausimai.kiekKlausimu; j++)
                {
                    if (vardas == atstovybe.Klausimai.GautiKlausima(j).Autorius)
                    {
                        laikinasKlausimuSkaicius++;
                    }
                }

                if (laikinasKlausimuSkaicius > klausimuSkaicius)
                {
                    klausimuSkaicius = laikinasKlausimuSkaicius;
                    IstrintiAutorius();
                    PridetiAutoriu(vardas);
                }
                else if (laikinasKlausimuSkaicius == klausimuSkaicius && !Autoriai.Contains(vardas))
                {
                    PridetiAutoriu(vardas);
                }
            }

            return(klausimuSkaicius);
        }
예제 #4
0
        /// <summary>
        /// Funkcija grąžina sutampančio klausimo tekstą
        /// </summary>
        /// <param name="kitas"></param>
        /// <param name="vienodiKlaus"></param>
        /// <param name="kiekis"></param>
        /// <returns></returns>
        public string[] VienodiKlausimai(Atstovybes kitas, ref string[] vienodiKlaus, ref int kiekis)
        {
            for (int i = 0; i < kiekKlausimu; i++)
            {
                for (int j = 0; j < kitas.Klausimai.kiekKlausimu; j++)
                {
                    if (GautiKlausima(i).Equals(kitas.Klausimai.GautiKlausima(j)) && !vienodiKlaus.Contains(GautiKlausima(i).KlausimoTekstas))
                    {
                        vienodiKlaus[kiekis++] = GautiKlausima(i).KlausimoTekstas;
                    }
                }
            }

            return(vienodiKlaus);
        }
예제 #5
0
        const int maxAtstovybiuKiekis = 10;  //didžiausias atstovybių kiekis

        static void Main(string[] args)
        {
            Program p = new Program();

            Atstovybes[] AtstovybiuPav    = new Atstovybes[maxAtstovybiuKiekis]; //objekto masyve saugomi atstovybių pavadinimai
            int          atstovybiuKiekis = 0;

            DaugiausiaKlausimuBendrai  autoriaiBendr = new DaugiausiaKlausimuBendrai(maxKlausimuKiekis);  //Iš visų atstovybių popuiariausių autorių objektas
            DaugiausiaKlausimuAtskirai autoriaiAts   = new DaugiausiaKlausimuAtskirai(maxKlausimuKiekis); //Skirtingų atstovybių populiariausių autorių objektas
            TemuKonteineris            temos         = new TemuKonteineris(maxKlausimuKiekis);            //Nesikartojančių temų objektas

            p.Skaitymas(ref AtstovybiuPav, maxKlausimuKiekis, ref atstovybiuKiekis);                      //Skaitymo metodas
            p.TemuKiekis(AtstovybiuPav, temos, atstovybiuKiekis);                                         //metode kaupiamas nesikartojančių temų pavadinimas ir kiekis
            p.DaugiausiaKlausimuIsVisoIsvedimas(AtstovybiuPav, autoriaiBendr, atstovybiuKiekis);          //populiariausio autoriaus apskritai išvedimo metodas
            p.DaugiausiaiKlausimuAtstovybeseIsvedimas(AtstovybiuPav, autoriaiAts, atstovybiuKiekis);      //populiariausio autoriaus kiekvienoje atstovybėje paieškos metodas
            p.SkirtinguTemuIsvedimas(temos);                                                              //nesikartojančių temų ir jų kiekių išvedimas
            p.VienoduKlausimuIsvedimas(AtstovybiuPav, atstovybiuKiekis);                                  //pasikartojančių klausimų keliose atstovybėse išvedimas
            p.DuomenuPateikimasLenteleje(AtstovybiuPav, atstovybiuKiekis);                                //duomenų lentelės .txt kūrimo metodas
        }