/// <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); }
/// <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); }
/// <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); }
/// <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); } }
/// <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); }