Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace Lab4.Tekstas.Uzduotis13
- {
- class Program
- {
- const string fd1 = "..//..//Knyga1.txt";
- const string fd2 = "..//..//Knyga2.txt";
- const string fr1 = "..//..//PradiniaiDuomenys.txt";
- const string fr2 = "..//..//Analize.txt";
- const string fr3 = "..//..//ManoKnyga.txt";
- const int MaxNumberOfWordsInList = 10;
- static void Main(string[] args)
- {
- Console.OutputEncoding = Encoding.UTF8;
- string Knyga1 = File.ReadAllText(fd1,Encoding.UTF8);
- string Knyga2 = File.ReadAllText(fd2,Encoding.UTF8);
- char[] skyrikliai = { ' ', '@', '.', ',', '!', '?', ':', ';', '/', '(', ')', '\t', '"', '\'', '\r', '\n' };
- List<WordCount> list = TikPirmameFaile(Knyga1, Knyga2, skyrikliai);
- List<WordCount> newList = KartojasiTik1Karta(list);
- List<string> Abiejuose = KartojasiZodziaiAbiejuoseFailuose(Knyga1, Knyga2, skyrikliai);
- PradiniaiDuomenys(Knyga1, Knyga2);
- Spausdinimas(newList);
- Spausdinimas2(Abiejuose);
- Console.ReadKey();
- }
- private static List<WordCount> TikPirmameFaile(string Knyga1, string Knyga2, char[] s)
- {
- string[] zodziai = Knyga1.Split(s, StringSplitOptions.RemoveEmptyEntries);
- List<WordCount> list = new List<WordCount>();
- List<string> words = new List<string>();
- foreach (string zodis in zodziai)
- {
- WordCount zodis2 = new WordCount(zodis,0);
- if (!Knyga2.Contains(zodis) && !words.Contains(zodis))
- {
- words.Add(zodis);
- for (int i = 0; i < zodziai.Length; i++)
- {
- if (zodis2.Word == zodziai[i])
- {
- zodis2.TimesRepeat++;
- }
- }
- list.Add(zodis2);
- }
- }
- return list;
- }
- private static List<string> KartojasiZodziaiAbiejuoseFailuose(string Knyga1, string Knyga2, char[] s)
- {
- string[] zodziai = Knyga1.Split(s, StringSplitOptions.RemoveEmptyEntries);
- string[] zodziai2 = Knyga2.Split(s, StringSplitOptions.RemoveEmptyEntries);
- List<string> list = new List<string>();
- foreach (string zodis in zodziai)
- {
- if (zodziai2.Contains(zodis) && list.Count < MaxNumberOfWordsInList)
- {
- list.Add(zodis);
- }
- }
- return list;
- }
- private static List<WordCount> KartojasiTik1Karta(List<WordCount> list)
- {
- List<WordCount> newList = new List<WordCount>();
- for (int i = 0; i < list.Count && newList.Count < MaxNumberOfWordsInList; i++)
- {
- if (list[i].TimesRepeat == 1)
- {
- newList.Add(list[i]);
- }
- }
- return newList;
- }
- private static void PradiniaiDuomenys(string Knyga1, string Knyga2)
- {
- using (StreamWriter writedata = new StreamWriter(fr1))
- {
- writedata.WriteLine("Pirmas duomenų failas: \r\n" + Knyga1);
- writedata.WriteLine("Antras duomenų failas: \r\n" + Knyga2);
- }
- }
- private static void Spausdinimas(List<WordCount> list1)
- {
- using (StreamWriter writedata = new StreamWriter(fr2))
- {
- Console.WriteLine("Žodžių, kurie kartojasi vieną kartą ir kurių nėra faile \"Knyga2.txt\" skaičius (Max 10 žodžių): {0}", list1.Count);
- writedata.WriteLine("Žodžių, kurie kartojasi vieną kartą ir kurių nėra faile \"Knyga2.txt\" skaičius (Max 10 žodžių): {0}", list1.Count);
- Console.WriteLine("Ir jų sarašas:");
- writedata.WriteLine("Ir jų sarašas:");
- for (int i = 0; i < list1.Count; i++)
- {
- Console.WriteLine(i + 1 + ". " + list1[i].Word);
- writedata.WriteLine(i + 1 + ". " + list1[i].Word);
- }
- Console.WriteLine();
- writedata.WriteLine();
- }
- }
- private static void Spausdinimas2(List<string> list2)
- {
- using (StreamWriter writedata = new StreamWriter(fr2, true))
- {
- Console.WriteLine("Žodžių, kurių yra abiejuose failuose skaičius (Max 10 žodžių): {0}", list2.Count);
- writedata.WriteLine("Žodžių, kurių yra abiejuose failuose skaičius (Max 10 žodžių): {0}", list2.Count);
- Console.WriteLine("Ir jų sarašas:");
- writedata.WriteLine("Ir jų sarašas:");
- for (int i = 0; i < list2.Count; i++)
- {
- Console.WriteLine(i + 1 + ". " + list2[i]);
- writedata.WriteLine(i + 1 + ". " + list2[i]);
- }
- }
- }
- static void ApjungtoTekstoSpausdinimas(string line)
- {
- using(StreamWriter writeline = new StreamWriter(fr3, true))
- {
- writeline.WriteLine(line);
- }
- }
- static void ApjungtasTekstas(string Knyga1, string Knyga2, char[] s)
- {
- string[] visasTekstas;
- string[] tekstas1 = Knyga1.Split(s, StringSplitOptions.RemoveEmptyEntries);
- string[] tekstas2 = Knyga2.Split(s, StringSplitOptions.RemoveEmptyEntries);
- int pr1 = 0, pr2 = 0;
- int pb1 = 0, pb2 = 0;
- string line = null;
- string swapped;
- for (int i = 0; i < tekstas1.Length; i++)
- {
- if (tekstas1[i] == tekstas2[0])
- {
- Knyga1.IndexOf(tekstas1[i], pr1);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement