Пример #1
0
        // Metodas, kuris nuskaito tekstus.
        static void SudarytiZodziuSarasa(string kn, char[] skyrikliai, ZodziuKonteineris k)
        {
            string[] eilutes = File.ReadAllLines(kn, Encoding.UTF8);

            foreach (string eilute in eilutes)
            {
                string[] zodziai = eilute.Split(skyrikliai, StringSplitOptions.RemoveEmptyEntries);
                foreach (string zodis in zodziai)
                {
                    Zodis zdz = new Zodis(zodis.ToLower(), 0, zodis.Length);
                    k.PridetiZodi(zdz);
                }
            }
        }
Пример #2
0
        // Metodas, kuris spausdina į konsolę.
        static void SpausdinimasEkrane(ZodziuKonteineris k, int zodziuSkaicius, string zodis, int eilute, string zodis1, int eilute1)
        {
            Console.WriteLine("Žodžiai ir jų kiekis:");
            Console.WriteLine("");
            for (int i = 0; i < zodziuSkaicius; i++)
            {
                Console.WriteLine("{0}{1}", i + 1, k.GautiZodi(i).ToString() + "\n");
            }

            Console.WriteLine("");
            Console.WriteLine("Trumpiausias pirmo teksto sakinys: " + zodis + "\n" + "  Eilutė:" + eilute + "\n" + "  Eilutės ilgis:" + zodis.Length);
            Console.WriteLine("");
            Console.WriteLine("Trumpiausias antro teksto sakinys: " + zodis1 + "\n" + "  Eilutė:" + eilute1 + "\n" + "  Eilutės ilgis:" + zodis1.Length);
        }
Пример #3
0
 // 1 uzduoties zodziu rikiavimas
 static ZodziuKonteineris Rikiavimas(ZodziuKonteineris rikiojamas)
 {
     for (int i = 0; i < rikiojamas.ZodziuSkaicius; i++)
     {
         for (int j = 0; j < rikiojamas.ZodziuSkaicius - 1; j++)
         {
             if (rikiojamas.GautiZodi(j).Ilgis < rikiojamas.GautiZodi(j + 1).Ilgis)
             {
                 rikiojamas.Swap(j, j + 1);
             }
         }
     }
     return(rikiojamas);
 }
Пример #4
0
        // Metodas, kuris spausdina i faila.
        static void SpausdinimasFaile(string rodikliai, ZodziuKonteineris k, int zodziuSkaicius, string zodis, int eilute, string zodis1, int eilute1)
        {
            using (StreamWriter writer = new StreamWriter(rodikliai))
            {
                writer.WriteLine("Žodžiai ir jų kiekis.");
                for (int i = 0; i < zodziuSkaicius; i++)
                {
                    writer.WriteLine(i + 1 + ". " + k.GautiZodi(i).ToString() + "\n");
                }

                writer.WriteLine("");
                writer.WriteLine("Trumpiausias pirmo teksto sakinys: " + zodis + "\n" + "  Eilutė:" + eilute + "\n" + "  Eilutės ilgis:" + zodis.Length);
                writer.WriteLine("");
                writer.WriteLine("Trumpiausias antro teksto sakinys: " + zodis1 + "\n" + "  Eilutė:" + eilute1 + "\n" + "  Eilutės ilgis:" + zodis1.Length);
            }
        }
Пример #5
0
        public static char[] skyrikliai = { ' ', '.', ',', '!', '?', ':', ';', '(', ')', '\t', '\r', '\n' }; // Skyrikliai.

        public static void Main(string[] args)
        {
            // Trinami failai, kad nesikartotų tekstas.
            if (File.Exists(manoKnyga) && File.Exists(rodikliai))
            {
                File.Delete(manoKnyga);
                File.Delete(rodikliai);
            }

            //Sukuriami objektai.
            ZodziuKonteineris k1 = new ZodziuKonteineris(1000);

            //Nuskaitomas knyga1.txt failas.
            SudarytiZodziuSarasa(knyga1, skyrikliai, k1);
            ZodziuKonteineris k2 = new ZodziuKonteineris(1000);

            //Nuskaitomas knyga2.txt failas.
            SudarytiZodziuSarasa(knyga2, skyrikliai, k2);
            ZodziuKonteineris k = new ZodziuKonteineris(1000);

            IlgiausiZodziai(k1, k2, k);

            string zodis;
            string zodis1;

            int eilute;
            int eilute1;

            //Metodas su knyga1 ir knyga2 tekstais.
            SpausdinaFaileTeksta(manoKnyga, knyga1, knyga2, skyrikliai);

            //Metodai su sakiniais.
            Trumpiausias(knyga1, out zodis, out eilute);
            Trumpiausias(knyga2, out zodis1, out eilute1);

            //Metodas, kuris spausdina į ekraną.
            SpausdinimasEkrane(k, k.ZodziuSkaicius, zodis, eilute, zodis1, eilute1);
            //Metodas, kuris spausdina į failą.
            SpausdinimasFaile(rodikliai, k, k.ZodziuSkaicius, zodis, eilute, zodis1, eilute1);

            Console.ReadKey();
        }
Пример #6
0
        // 1 uzduotis
        static ZodziuKonteineris IlgiausiZodziai(ZodziuKonteineris knyga1zodziai, ZodziuKonteineris knyga2zodziai, ZodziuKonteineris k)
        {
            bool jauYra            = false;
            ZodziuKonteineris temp = new ZodziuKonteineris(30);

            for (int i = 0; i < knyga1zodziai.ZodziuSkaicius; i++)
            {
                jauYra = false;
                for (int j = 0; j < knyga2zodziai.ZodziuSkaicius; j++)
                {
                    if (knyga1zodziai.GautiZodi(i).ZodzioPavadinimas.ToLower() == knyga2zodziai.GautiZodi(j).ZodzioPavadinimas.ToLower())
                    {
                        jauYra = true;
                        break;
                    }
                }
                if (jauYra == false)
                {
                    int pasikartojaIndexas = temp.PasikartojancioIndexas(knyga1zodziai.GautiZodi(i));
                    if (pasikartojaIndexas < 0)
                    {
                        temp.PridetiZodi(knyga1zodziai.GautiZodi(i));
                        continue;
                    }
                    temp.GautiZodi(pasikartojaIndexas).Pasikartojimai += 1;
                }
            }
            temp = Rikiavimas(temp);
            for (int i = 0; i <= temp.ZodziuSkaicius; i++)
            {
                if (i >= 10)
                {
                    break;
                }
                k.PridetiZodi(temp.GautiZodi(i));
            }

            return(k);
        }