コード例 #1
0
ファイル: Program.cs プロジェクト: minde333/Darbai-U4-ir-U5
 /// <summary>
 /// Surikiuoja 10 ilgiausių žodžių mažėjimo tvarka
 /// </summary>
 /// <param name="Rikiuojamas">Rikiuojamas konteineris</param>
 /// <returns>Surikiuotą žodžių konteinerį</returns>
 static ZodziuKonteineris Rikiavimas(ZodziuKonteineris Rikiuojamas)
 {
     for (int i = 0; i < Rikiuojamas.ZodziuSkaicius; i++)
     {
         for (int j = 0; j < Rikiuojamas.ZodziuSkaicius - 1; j++)
         {
             if (Rikiuojamas.GautiZodi(j).Ilgis < Rikiuojamas.GautiZodi(j + 1).Ilgis)
             {
                 Rikiuojamas.Swap(j, j + 1);
             }
         }
     }
     return(Rikiuojamas);
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: minde333/Darbai-U4-ir-U5
        /// <summary>
        /// Suranda 10 ilgiausių žodžių ir juos sudeda į konteinerį
        /// </summary>
        /// <param name="Knygos1ZodziaiBeSkyrikliu">Pirmo duomenų failo žodžiai be skiriklų</param>
        /// <param name="Knygos2ZodziaiBeSkyrikliu">Antro duomenų failo žodžiai be skiriklų</param>
        /// <param name="IlgiausiuZodziuKonteneris">10 ilgiausių žodžių</param>
        /// <returns></returns>
        ZodziuKonteineris IlgiausiZodziai(ZodziuKonteineris Knygos1ZodziaiBeSkyrikliu, ZodziuKonteineris Knygos2ZodziaiBeSkyrikliu, ZodziuKonteineris IlgiausiuZodziuKonteneris)
        {
            bool jauYra            = false;
            ZodziuKonteineris temp = new ZodziuKonteineris(30);

            for (int i = 0; i < Knygos1ZodziaiBeSkyrikliu.ZodziuSkaicius; i++)
            {
                jauYra = false;
                for (int j = 0; j < Knygos2ZodziaiBeSkyrikliu.ZodziuSkaicius; j++)
                {
                    if (Knygos1ZodziaiBeSkyrikliu.GautiZodi(i).ZodzioPavadinimas.ToLower() == Knygos2ZodziaiBeSkyrikliu.GautiZodi(j).ZodzioPavadinimas.ToLower())
                    {
                        jauYra = true;
                        break;
                    }
                }
                if (jauYra == false)
                {
                    int pasikartojaIndexas = temp.PasikartojancioIndexas(Knygos1ZodziaiBeSkyrikliu.GautiZodi(i));
                    if (pasikartojaIndexas < 0)
                    {
                        temp.PridetiZodi(Knygos1ZodziaiBeSkyrikliu.GautiZodi(i));
                        continue;
                    }
                    temp.GautiZodi(pasikartojaIndexas).Pasikartojimai += 1;
                }
            }
            temp = Rikiavimas(temp);
            for (int i = 0; i <= temp.ZodziuSkaicius; i++)
            {
                if (i >= 10)
                {
                    break;
                }
                IlgiausiuZodziuKonteneris.PridetiZodi(temp.GautiZodi(i));
            }
            return(IlgiausiuZodziuKonteneris);
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: minde333/Darbai-U4-ir-U5
        /// <summary>
        /// Spausdina atliktas 1 ir 2 užduotis į ekraną
        /// </summary>
        /// <param name="IlgiausiuZodziuKonteneris">Ilgiausi 10 žodžių</param>
        /// <param name="trumpiausiasSakinys1">Pirmo duomenų failo trumpiausias sakinys</param>
        /// <param name="trumpiausioSakinioVieta1">Pirmo duomenų failo trumpiausio sakinio vieta</param>
        /// <param name="trumpiausiasSakinys2">Antro duomenų failo trumpiausias sakinys</param>
        /// <param name="trumpiausioSakinioVieta2">Antro duomenų failo trumpiausio sakinio vieta</param>
        /// <param name="zodziuSkaicius1">Pirmo duomenų failo trumpiausio sakinio žodžių skaičius</param>
        /// <param name="zodziuSkaicius2">Antro duomenų failo trumpiausio sakinio žodžių skaičius</param>
        void SpausdinimasEkrane(ZodziuKonteineris IlgiausiuZodziuKonteneris, string trumpiausiasSakinys1, int trumpiausioSakinioVieta1, string trumpiausiasSakinys2, int trumpiausioSakinioVieta2, int zodziuSkaicius1, int zodziuSkaicius2)
        {
            Console.WriteLine("Žodžiai, jų pasikartojimų skaičius ir ilgis:");
            Console.WriteLine("");
            for (int i = 0; i < IlgiausiuZodziuKonteneris.ZodziuSkaicius; i++)
            {
                Console.WriteLine("{0}{1}", i + 1, IlgiausiuZodziuKonteneris.GautiZodi(i).ToString() + "\n");
            }

            Console.WriteLine("");
            Console.WriteLine("Trumpiausias pirmo duomenų failo sakinys: " + "\n" + '"' + trumpiausiasSakinys1 + '"' + "\n" + "\n" + "Sakinios pradžios eilutės Nr.: " + trumpiausioSakinioVieta1 + "\n" + "Sakinio ilgis simboliais: " + trumpiausiasSakinys1.Length + "\n" + "Sakinio žodžių skaičius: " + zodziuSkaicius1);
            Console.WriteLine("");
            Console.WriteLine("Trumpiausias antro duomenų failo sakinys: " + "\n" + '"' + trumpiausiasSakinys2 + '"' + "\n" + "\n" + "Sakinios pradžios eilutės Nr.: " + trumpiausioSakinioVieta2 + "\n" + "Sakinio ilgis simboliais: " + trumpiausiasSakinys2.Length + "\n" + "Sakinio žodžių skaičius: " + zodziuSkaicius2);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: minde333/Darbai-U4-ir-U5
        /// <summary>
        /// Spausdinama atlikta 1 ir 2 užduotys į nurodytą duomenų failą
        /// </summary>
        /// <param name="rodikliai">Failo pavadinimas į kurį spausdinama</param>
        /// <param name="IlgiausiuZodziuKonteneris">Ilgiausi 10 žodžių</param>
        /// <param name="trumpiausiasSakinys1">Pirmo duomenų failo trumpiausias sakinys</param>
        /// <param name="trumpiausioSakinioVieta1">Pirmo duomenų failo trumpiausio sakinio vieta</param>
        /// <param name="trumpiausiasSakinys2">Antro duomenų failo trumpiausias sakinys</param>
        /// <param name="trumpiausioSakinioVieta2">Antro duomenų failo trumpiausio sakinio vieta</param>
        /// <param name="zodziuSkaicius1">Pirmo duomenų failo trumpiausio sakinio žodžių skaičius</param>
        /// <param name="zodziuSkaicius2">Antro duomenų failo trumpiausio sakinio žodžių skaičius</param>
        void SpausdinimasFaile(string rodikliai, ZodziuKonteineris IlgiausiuZodziuKonteneris, string trumpiausiasSakinys1, int trumpiausioSakinioVieta1, string trumpiausiasSakinys2, int trumpiausioSakinioVieta2, int zodziuSkaicius1, int zodziuSkaicius2)
        {
            using (StreamWriter writer = new StreamWriter(rodikliai))
            {
                writer.WriteLine("Žodžiai, jų pasikartojimų skaičius ir ilgis:");
                for (int i = 0; i < IlgiausiuZodziuKonteneris.ZodziuSkaicius; i++)
                {
                    writer.WriteLine(i + 1 + ". " + IlgiausiuZodziuKonteneris.GautiZodi(i).ToString() + "\n");
                }

                writer.WriteLine("");
                writer.WriteLine("Trumpiausias pirmo duomenų failo sakinys: " + "\n" + '"' + trumpiausiasSakinys1 + '"' + "\n" + "\n" + "Sakinios pradžios eilutės Nr.: " + trumpiausioSakinioVieta1 + "\n" + "Sakinio ilgis simboliais: " + trumpiausiasSakinys1.Length + "\n" + "Sakinio žodžių skaičius: " + zodziuSkaicius1);
                writer.WriteLine("");
                writer.WriteLine("Trumpiausias antro duomenų failo sakinys: " + "\n" + '"' + trumpiausiasSakinys2 + '"' + "\n" + "\n" + "Sakinios pradžios eilutės Nr.: " + trumpiausioSakinioVieta2 + "\n" + "Sakinio ilgis simboliais: " + trumpiausiasSakinys2.Length + "\n" + "Sakinio žodžių skaičius: " + zodziuSkaicius2);
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: minde333/Darbai-U4-ir-U5
        /// <summary>
        /// Metodas, kuris tikrina du tekstus ir juos jungia į vieną
        /// </summary>
        /// <param name="Knygos1ZodziaiSuSkyrikliais">Pirmo failo žodžiai su skyrikliais</param>
        /// <param name="Knygos2ZodziaiSuSkyrikliais">Antro failo žodžiai su skyrikliais</param>
        /// <returns>Sudarytą bendrą tekstą</returns>
        StringBuilder TekstoPertvarkymas(ZodziuKonteineris Knygos1ZodziaiSuSkyrikliais, ZodziuKonteineris Knygos2ZodziaiSuSkyrikliais)
        {
            StringBuilder VisasTekstas       = new StringBuilder();
            int           k                  = 0;
            int           AntroZodzioPradzia = 0;

            for (int i = 0; i < Knygos1ZodziaiSuSkyrikliais.ZodziuSkaicius; i++)
            {
                string PirmasZodis = Regex.Replace(Knygos1ZodziaiSuSkyrikliais.GautiZodi(i).ZodzioPavadinimas, "[.,;()\"]", String.Empty);
                string AntrasZodis = Regex.Replace(Knygos2ZodziaiSuSkyrikliais.GautiZodi(AntroZodzioPradzia).ZodzioPavadinimas, "[.,;()\"]", String.Empty);
                if (PirmasZodis != AntrasZodis)
                {
                    VisasTekstas.Append(Knygos1ZodziaiSuSkyrikliais.GautiZodi(i).ZodzioPavadinimas);
                    VisasTekstas.Append(" ");
                }
                else
                {
                    if (i + 1 < Knygos1ZodziaiSuSkyrikliais.ZodziuSkaicius)
                    {
                        PirmasZodis = Regex.Replace(Knygos1ZodziaiSuSkyrikliais.GautiZodi(i + 1).ZodzioPavadinimas, "[.,;()\"]", String.Empty);
                    }
                    else
                    {
                        break;
                    }
                    for (int g = AntroZodzioPradzia; g < Knygos2ZodziaiSuSkyrikliais.ZodziuSkaicius; g++)
                    {
                        AntrasZodis = Regex.Replace(Knygos2ZodziaiSuSkyrikliais.GautiZodi(g).ZodzioPavadinimas, "[.,;()\"]", String.Empty);
                        if (PirmasZodis != AntrasZodis)
                        {
                            VisasTekstas.Append(Knygos2ZodziaiSuSkyrikliais.GautiZodi(g).ZodzioPavadinimas);
                            VisasTekstas.Append(" ");
                            if (g == Knygos2ZodziaiSuSkyrikliais.ZodziuSkaicius - 1)
                            {
                                AntroZodzioPradzia = Knygos2ZodziaiSuSkyrikliais.ZodziuSkaicius - 1;
                            }
                        }
                        else
                        {
                            if (g + 1 < Knygos2ZodziaiSuSkyrikliais.ZodziuSkaicius - 1)
                            {
                                AntroZodzioPradzia = g + 1;
                            }
                            else
                            {
                                AntroZodzioPradzia = Knygos2ZodziaiSuSkyrikliais.ZodziuSkaicius;
                            }
                            break;
                        }
                    }
                }
            }

            if (AntroZodzioPradzia < Knygos2ZodziaiSuSkyrikliais.ZodziuSkaicius - 1)
            {
                for (int i = AntroZodzioPradzia; i < Knygos2ZodziaiSuSkyrikliais.ZodziuSkaicius; i++)
                {
                    VisasTekstas.Append(Knygos2ZodziaiSuSkyrikliais.GautiZodi(i).ZodzioPavadinimas);
                    VisasTekstas.Append(" ");
                }
            }
            return(VisasTekstas);
        }