Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.17 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace Lab4.Tekstas.Uzduotis13
  9. {
  10.     class Program
  11.     {
  12.         const string fd1 = "..//..//Knyga1.txt";
  13.         const string fd2 = "..//..//Knyga2.txt";
  14.         const string fr1 = "..//..//PradiniaiDuomenys.txt";
  15.         const string fr2 = "..//..//Analize.txt";
  16.         const string fr3 = "..//..//ManoKnyga.txt";
  17.         const int MaxNumberOfWordsInList = 10;
  18.  
  19.         static void Main(string[] args)
  20.         {
  21.             Console.OutputEncoding = Encoding.UTF8;
  22.             string Knyga1 = File.ReadAllText(fd1,Encoding.UTF8);
  23.             string Knyga2 = File.ReadAllText(fd2,Encoding.UTF8);
  24.  
  25.             char[] skyrikliai = { ' ', '@', '.', ',', '!', '?', ':', ';', '/', '(', ')', '\t', '"', '\'', '\r', '\n' };
  26.  
  27.             List<WordCount> list = TikPirmameFaile(Knyga1, Knyga2, skyrikliai);
  28.             List<WordCount> newList = KartojasiTik1Karta(list);
  29.             List<string> Abiejuose = KartojasiZodziaiAbiejuoseFailuose(Knyga1, Knyga2, skyrikliai);
  30.  
  31.             PradiniaiDuomenys(Knyga1, Knyga2);
  32.             Spausdinimas(newList);
  33.             Spausdinimas2(Abiejuose);
  34.             Console.ReadKey();
  35.         }
  36.  
  37.         private static List<WordCount> TikPirmameFaile(string Knyga1, string Knyga2, char[] s)
  38.         {
  39.             string[] zodziai = Knyga1.Split(s, StringSplitOptions.RemoveEmptyEntries);
  40.             List<WordCount> list = new List<WordCount>();
  41.             List<string> words = new List<string>();
  42.  
  43.             foreach (string zodis in zodziai)
  44.             {
  45.                 WordCount zodis2 = new WordCount(zodis,0);
  46.                 if (!Knyga2.Contains(zodis) && !words.Contains(zodis))
  47.                 {
  48.                     words.Add(zodis);
  49.                     for (int i = 0; i < zodziai.Length; i++)
  50.                     {
  51.                         if (zodis2.Word == zodziai[i])
  52.                         {
  53.                             zodis2.TimesRepeat++;
  54.                         }
  55.                     }
  56.                     list.Add(zodis2);
  57.                 }
  58.             }
  59.             return list;
  60.         }
  61.  
  62.         private static List<string> KartojasiZodziaiAbiejuoseFailuose(string Knyga1, string Knyga2, char[] s)
  63.         {
  64.             string[] zodziai = Knyga1.Split(s, StringSplitOptions.RemoveEmptyEntries);
  65.             string[] zodziai2 = Knyga2.Split(s, StringSplitOptions.RemoveEmptyEntries);
  66.             List<string> list = new List<string>();
  67.  
  68.             foreach (string zodis in zodziai)
  69.             {
  70.                 if (zodziai2.Contains(zodis) && list.Count < MaxNumberOfWordsInList)
  71.                 {
  72.                     list.Add(zodis);
  73.                 }
  74.             }
  75.             return list;
  76.         }
  77.  
  78.         private static List<WordCount> KartojasiTik1Karta(List<WordCount> list)
  79.         {
  80.             List<WordCount> newList = new List<WordCount>();
  81.  
  82.             for (int i = 0; i < list.Count && newList.Count < MaxNumberOfWordsInList; i++)
  83.             {
  84.                 if (list[i].TimesRepeat == 1)
  85.                 {
  86.                     newList.Add(list[i]);
  87.                 }
  88.             }
  89.             return newList;
  90.         }
  91.  
  92.         private static void PradiniaiDuomenys(string Knyga1, string Knyga2)
  93.         {
  94.             using (StreamWriter writedata = new StreamWriter(fr1))
  95.             {
  96.                 writedata.WriteLine("Pirmas duomenų failas: \r\n" + Knyga1);
  97.                 writedata.WriteLine("Antras duomenų failas: \r\n" + Knyga2);
  98.             }
  99.         }
  100.  
  101.         private static void Spausdinimas(List<WordCount> list1)
  102.         {
  103.             using (StreamWriter writedata = new StreamWriter(fr2))
  104.             {
  105.                 Console.WriteLine("Žodžių, kurie kartojasi vieną kartą ir kurių nėra faile \"Knyga2.txt\" skaičius (Max 10 žodžių): {0}", list1.Count);
  106.                 writedata.WriteLine("Žodžių, kurie kartojasi vieną kartą ir kurių nėra faile \"Knyga2.txt\" skaičius (Max 10 žodžių): {0}", list1.Count);
  107.                 Console.WriteLine("Ir jų sarašas:");
  108.                 writedata.WriteLine("Ir jų sarašas:");
  109.                 for (int i = 0; i < list1.Count; i++)
  110.                 {
  111.                     Console.WriteLine(i + 1 + ". " + list1[i].Word);
  112.                     writedata.WriteLine(i + 1 + ". " + list1[i].Word);
  113.                 }
  114.                 Console.WriteLine();
  115.                 writedata.WriteLine();
  116.             }
  117.         }
  118.  
  119.         private static void Spausdinimas2(List<string> list2)
  120.         {
  121.             using (StreamWriter writedata = new StreamWriter(fr2, true))
  122.             {
  123.                 Console.WriteLine("Žodžių, kurių yra abiejuose failuose skaičius (Max 10 žodžių): {0}", list2.Count);
  124.                 writedata.WriteLine("Žodžių, kurių yra abiejuose failuose skaičius (Max 10 žodžių): {0}", list2.Count);
  125.                 Console.WriteLine("Ir jų sarašas:");
  126.                 writedata.WriteLine("Ir jų sarašas:");
  127.                 for (int i = 0; i < list2.Count; i++)
  128.                 {
  129.                     Console.WriteLine(i + 1 + ". " + list2[i]);
  130.                     writedata.WriteLine(i + 1 + ". " + list2[i]);
  131.                 }
  132.             }
  133.         }
  134.  
  135.         static void ApjungtoTekstoSpausdinimas(string line)
  136.         {
  137.             using(StreamWriter writeline = new StreamWriter(fr3, true))
  138.             {
  139.                 writeline.WriteLine(line);
  140.             }
  141.         }
  142.  
  143.         static void ApjungtasTekstas(string Knyga1, string Knyga2, char[] s)
  144.         {
  145.             string[] visasTekstas;
  146.             string[] tekstas1 = Knyga1.Split(s, StringSplitOptions.RemoveEmptyEntries);
  147.             string[] tekstas2 = Knyga2.Split(s, StringSplitOptions.RemoveEmptyEntries);
  148.             int pr1 = 0, pr2 = 0;
  149.             int pb1 = 0, pb2 = 0;
  150.             string line = null;
  151.             string swapped;
  152.  
  153.             for (int i = 0; i < tekstas1.Length; i++)
  154.             {
  155.                 if (tekstas1[i] == tekstas2[0])
  156.                 {
  157.                     Knyga1.IndexOf(tekstas1[i], pr1);
  158.                 }
  159.             }
  160.         }
  161.     }
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement