Advertisement
Guest User

Untitled

a guest
Dec 12th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.74 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Text;
  4.  
  5.  
  6. //Užduotis.Faile Tekstas.txt užrašytas tekstas.
  7. //Gretimi žodžiai eilutėje skiriami vienu arba keliais skyrikliais.
  8. //Skyrikliai yra žinomi.
  9.  
  10. //Rasti ir spausdinti ekrane ilgiausią teksto žodį iš tų,
  11. //kuriuose yra 3 skirtingos balsės (jei tokie žodžiai yra keli,
  12. //rasti pirmą).
  13.  
  14. //To žodžio eilutę perkelti į teksto pradžią.
  15. //Redaguotą tekstą užrašyti į failą RedTekstas.txt.
  16. //Tekstą analizuokite skaitydami po vieną eilutę.
  17.  
  18. namespace KD2PVZ2
  19. {
  20.  
  21.     class MainClass
  22.     {
  23.         const string Cfd = "Tekstas.txt";
  24.         const string CFr = "RedTekstas.txt";
  25.  
  26.         public static void Main(string[] args)
  27.         {
  28.             if (File.Exists(CFr))
  29.                 File.Delete(CFr);
  30.             string zod;
  31.             int me = 0;
  32.             string sk = ",./;' -";
  33.             RastiZTekste(Cfd, sk,out zod,ref me);
  34.             Console.WriteLine("Ilgiausias zodis: {0}",zod);
  35.             Console.WriteLine("Eileje: {0}", me);
  36.             PerkeltiEilute(Cfd, CFr, me);
  37.         }
  38.         static int SkirtBalsiuSkaicius(string e)
  39.         {
  40.             char[] balses = { 'a','e','i','o','u'};
  41.             int suma = 0;
  42.             for (int i = 0; i < balses.Length; i++)
  43.             {
  44.                 if(e.ToLower().IndexOf(balses[i]) > 0)
  45.                 {
  46.                     suma = suma + 1;
  47.                 }
  48.             }
  49.             return suma;
  50.         }
  51.         static string RastiZodiEil(string e, string sk)
  52.         {
  53.             string zod = "";
  54.             char[] skyrikliai = sk.ToCharArray();
  55.             string[] eil = e.Split(skyrikliai, StringSplitOptions.RemoveEmptyEntries);
  56.             foreach(string zodis in eil)
  57.             {
  58.                 if(SkirtBalsiuSkaicius(zodis) >=3 && zodis.Length > zod.Length)
  59.                 {
  60.                     zod = zodis;
  61.                 }
  62.             }
  63.             return zod;
  64.         }
  65.         static void RastiZTekste(string fv, string sk, out string zod, ref int me)
  66.         {
  67.             using(StreamReader reader = new StreamReader(fv, Encoding.GetEncoding(1257)))
  68.             {
  69.                 int i = 0;
  70.                 string e;
  71.                 zod = "";
  72.                 while((e = reader.ReadLine()) != null)
  73.                 {
  74.                     if (e.Length > 0)
  75.                     {
  76.                         i++;
  77.                         if(RastiZodiEil(e, sk).Length > zod.Length)
  78.                         {
  79.                             zod = RastiZodiEil(e, sk);
  80.                             me = i;
  81.                         }
  82.                     }
  83.  
  84.                 }
  85.                
  86.             }
  87.         }
  88.         static void PerkeltiEilute(string fvd, string fvr, int n)
  89.         {
  90.             string line2="";
  91.             using (StreamReader reader = new StreamReader(fvd, Encoding.GetEncoding(1257)))
  92.             {
  93.                     string line;
  94.                     for (int i = 1; i < n && ((line = reader.ReadLine()) != null); i++)
  95.                     {
  96.                     line2 = reader.ReadLine();
  97.                     }
  98.  
  99.             }
  100.             using(var fr = File.CreateText(fvr))
  101.             {
  102.                 using(StreamReader reader = new StreamReader(fvd,Encoding.GetEncoding(1257)))
  103.                 {
  104.                     string line;
  105.                     Console.WriteLine(line2);
  106.                     Console.WriteLine("-----------");
  107.                     while((line= reader.ReadLine()) != null)
  108.                     {
  109.                         if(line != line2)
  110.                         {
  111.                             Console.WriteLine(line);
  112.                         }
  113.                     }
  114.                 }
  115.             }
  116.         }
  117.  
  118.     }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement