Пример #1
0
        /// <summary>
        /// metodas grąžina didžiausią klausimų skaičių iš visų atstovybių
        /// </summary>
        /// <param name="atstovybe">Atsovybė</param>
        /// <param name="klausimuSkaicius">Klausimų skaičius</param>
        /// <returns></returns>
        public int DaugiausiaiAtstovybejPaieska(Atstovybe atstovybe, int klausimuSkaicius)
        {
            int    laikinasKlausimuSkaicius;
            string vardas;

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

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

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

            return(klausimuSkaicius);
        }
Пример #2
0
        /// <summary>
        /// Aktyviausio autoriaus klausimų kiekio metodas
        /// </summary>
        /// <param name="atstovybes">Atstovybės</param>
        /// <param name="autoriaiAts">Autoriai atskirai</param>
        /// <returns>metodas grąžina iš kiekvienos atstovybės aktyviausio autoriaus klausimų kiekį</returns>
        public int DaugiausiaiKlausimuAtstovybese(Atstovybe atstovybes, DaugiausiaKlausimuAtskirai autoriaiAts)
        {
            int    klausimuskaicius = 0;
            int    laikinasklausimuskaicius;
            string laikinasvardas = atstovybes.VisiKlausimai.GautiKlausima(0).Autorius;

            for (int i = 0; i < atstovybes.VisiKlausimai.Kiekis; i++)
            {
                laikinasvardas           = atstovybes.VisiKlausimai.GautiKlausima(i).Autorius;
                laikinasklausimuskaicius = 1;

                for (int j = i + 1; j < atstovybes.VisiKlausimai.Kiekis; j++)
                {
                    if (atstovybes.VisiKlausimai.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);
        }
Пример #3
0
        const int maxAtstovybiuKiekis = 10; //didžiausias atstovybių kiekis

        static void Main(string[] args)
        {
            int atstovybiuKiekis = 0;                                    //Kintamasis, kuris nurodo, kiek yra atstovybių
            int skaicius         = 0;                                    //Istorinių klausimų kiekis

            Console.OutputEncoding = Encoding.UTF8;                      //Konsolėje rašomos lietuviškos raidės
            Program p = new Program();                                   //Program klasės objektas, kad galima būtų prieiti prie metodų

            Atstovybe[] atstovybes = new Atstovybe[maxAtstovybiuKiekis]; //objekto masyve saugomi atstovybių pavadinimai

            p.Skaitymas(ref atstovybes, ref atstovybiuKiekis);           //Skaitymo metodas

            if (atstovybes[0].AtstovybesPav == null)
            {
                Console.WriteLine("Duomenų failuose nėra");
                //Jeigu duomenų faile nėra, rezultatų failus palieka tuščius
                string[] istoriniai = new string[1000];
                p.IstoriniuKlausimuSpausdinimasFaile(istoriniai, skaicius);
                KlausimuKonteineris visiParasytiKlausimai = new KlausimuKonteineris();
                p.VisuKlausimuSpausdinimasFaile(visiParasytiKlausimai);
                p.DuomenuPateikimasLenteleje(atstovybes, atstovybiuKiekis);
            }
            else
            {
                DaugiausiaKlausimuBendrai autoriaiBendr = new DaugiausiaKlausimuBendrai();        //Iš visų atstovybių populiariausių autorių objektas
                p.DaugiausiaKlausimuIsVisoIsvedimas(atstovybes, autoriaiBendr, atstovybiuKiekis); //populiariausio autoriaus apskritai išvedimo metodas

                Console.WriteLine(new String('-', 100));                                          //Atskiria rezultatus
                Console.WriteLine("");

                DaugiausiaKlausimuAtskirai autoriaiAts = new DaugiausiaKlausimuAtskirai();            //Skirtingų atstovybių populiariausių autorių objektas
                p.DaugiausiaiKlausimuAtstovybeseIsvedimas(atstovybes, autoriaiAts, atstovybiuKiekis); //populiariausio autoriaus kiekvienoje atstovybėje paieškos metodas

                Console.WriteLine(new String('-', 100));                                              //Atskiria rezultatus
                Console.WriteLine("");

                DaugiausiaKlausimuAtskirai muzAutoriaiAts = new DaugiausiaKlausimuAtskirai();                     //Skirtingų atstovybių daugiausiai muzikinių klausimų uždavusių autorių objektas
                p.DaugiausiaiMuzikiniuKlausimuAtstovybeseIsvedimas(atstovybes, muzAutoriaiAts, atstovybiuKiekis); //Autorių, daugiausiai uždavusių muzikinių klausimų, išvedimas

                Console.WriteLine(new String('-', 100));                                                          //Atskiria rezultatus
                Console.WriteLine("");

                KlausimuKonteineris visiParasytiKlausimai = new KlausimuKonteineris();          //Visų klausimų objektas
                visiParasytiKlausimai = p.VisiParasytiKlausimai(atstovybes, atstovybiuKiekis);  //Suranda visus užduotus klausimus
                visiParasytiKlausimai.RikiuotiKlausimus();                                      //Surikiuoja visų klausimų sąrašą
                p.VisuKlausimuSpausdinimasFaile(visiParasytiKlausimai);                         //Atspausdina faile visus klausimus

                string[] istoriniai = new string[1000];                                         //Istorinių klausimų objektas
                istoriniai = p.IstoriniaiKlausimai(atstovybes, atstovybiuKiekis, ref skaicius); //Suranda visus istorinius klausimus
                if (skaicius == 0)
                {
                    Console.WriteLine("Istorinių klausimų nėra");
                    Console.WriteLine("");
                }
                p.IstoriniuKlausimuSpausdinimasFaile(istoriniai, skaicius); //Atspausdina faile visus istorinius klausimus

                p.DuomenuPateikimasLenteleje(atstovybes, atstovybiuKiekis); //Duomenys pateikiami lentele
            }
        }
Пример #4
0
        /// <summary>
        /// Metodas skirtas nuskaityti duomenis
        /// </summary>
        /// <param name="atstovybes">Atstovybės</param>
        /// <param name="atstovybiuKiekis">Atstovybių kiekis</param>
        public void Skaitymas(ref Atstovybe[] atstovybes, ref int atstovybiuKiekis)
        {
            string[] DuomenuVieta = Directory.GetFiles(@"C:\Users\Vartotojas\Desktop\L3 Proto musis\L.1 Proto musis\U3-5_Arminas_Marozas", "duomenys*.csv");

            foreach (string failas in DuomenuVieta)
            {
                using (StreamReader skaityti = new StreamReader(@failas))
                {
                    string eilute = skaityti.ReadLine();
                    if (eilute == "")
                    {
                        Atstovybe atstovybee = new Atstovybe(eilute);
                        atstovybes[atstovybiuKiekis++] = atstovybee;
                        break;
                    }
                    Atstovybe atstovybe = new Atstovybe(eilute);

                    while ((eilute = skaityti.ReadLine()) != null)
                    {
                        if (eilute.Count(x => x == ',') == 6)     //Patikrina, ar eilutėje yra 6 kableliai, jeigu ne, vadinasi klausimas yra be variantų
                        {
                            if (eilute.Count(x => x == '-') >= 1) //Jeigu yra brūkšnių, vadinasi yra atsakymų variantų(vienas nuo kito atskirti - ), jeigu ne, čia muzikinis klausimas.
                            {
                                string[] dalys                  = eilute.Split(',');
                                string   Tema                   = dalys[0];
                                int      Sudetingumas           = int.Parse(dalys[1]);
                                string   Autorius               = dalys[2];
                                string   KlausimoTekstas        = dalys[3];
                                string   Variantai              = dalys[4];
                                string   TeisingasAtsakymas     = dalys[5];
                                int      Balai                  = int.Parse(dalys[6]);
                                KlausimasSuVariantais klausimas = new KlausimasSuVariantais(Tema, Sudetingumas, Autorius, KlausimoTekstas, Variantai, TeisingasAtsakymas, Balai);
                                atstovybe.KlausimaiSuVariantais.PridetiKlausima(klausimas);
                                atstovybe.VisiKlausimai.PridetiKlausima(klausimas);
                            }
                            else
                            {
                                string[]           dalys              = eilute.Split(',');
                                string             Tema               = dalys[0];
                                int                Sudetingumas       = int.Parse(dalys[1]);
                                string             Autorius           = dalys[2];
                                string             KlausimoTekstas    = dalys[3];
                                string             TeisingasAtsakymas = dalys[4];
                                int                Balai              = int.Parse(dalys[5]);
                                string             FailoPavadinimas   = dalys[6];
                                MuzikinisKlausimas klausimas          = new MuzikinisKlausimas(Tema, Sudetingumas, Autorius, KlausimoTekstas, TeisingasAtsakymas, Balai, FailoPavadinimas);
                                atstovybe.MuzikiniaiKlausimai.PridetiKlausima(klausimas);
                                atstovybe.VisiKlausimai.PridetiKlausima(klausimas);
                            }
                        }
                        else
                        {
                            string[] dalys              = eilute.Split(',');
                            string   Tema               = dalys[0];
                            int      Sudetingumas       = int.Parse(dalys[1]);
                            string   Autorius           = dalys[2];
                            string   KlausimoTekstas    = dalys[3];
                            string   TeisingasAtsakymas = dalys[4];
                            int      Balai              = int.Parse(dalys[5]);

                            Klausimas klausimas = new Klausimas(Tema, Sudetingumas, Autorius, KlausimoTekstas, TeisingasAtsakymas, Balai);
                            atstovybe.Klausimai.PridetiKlausima(klausimas);
                            atstovybe.VisiKlausimai.PridetiKlausima(klausimas);
                        }
                    }
                    atstovybes[atstovybiuKiekis++] = atstovybe;
                }
            }
        }