Advertisement
Guest User

Untitled

a guest
Nov 30th, 2015
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 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 K2
  9. {
  10. class Program
  11. {
  12. const string CFd = "..\\..\\Tekstas.txt";
  13. const string CFr = "..\\..\\RedTextas.txt";
  14.  
  15. static void Main(string[] args)
  16. {
  17. string skyr = " .,!?:;()-\t";
  18. string zodis;
  19. int nr = 0;
  20. RastiZTekste(CFd, skyr, out zodis, ref nr);
  21. PerkeltiEilute(CFd, CFr, nr);
  22.  
  23. }
  24.  
  25. static int SkirtBalsiuSkaicius(string e)
  26. {
  27. char[] balsės = { 'e', 'y', 'u', 'i', 'o', 'a' }; // galimos balsės
  28. int ilgis = e.Length; // naudojamo žodžio ilgis
  29. int kiek = 0; // skirtingų balsių skaičius
  30. for (int i = 0; i < 6; i++)
  31. {
  32. for (int j = 0; j < ilgis; j++)
  33. {
  34. if (char.ToLower(e[j]) == balsės[i])
  35. {
  36. kiek++;
  37. j = ilgis;
  38. }
  39. }
  40. }
  41. return kiek;
  42. }
  43.  
  44. static string RastiZodiEil(string e, string sk)
  45. {
  46. char[] skyrikliai = new char[100];
  47. sk.CopyTo(0, skyrikliai, 0, 10); // skyriklius iš žodžio konvertuoju į char masyvą
  48. skyrikliai[10] = '\t';
  49.  
  50. string ilgžodis = "";
  51. int balsKiek = 0;
  52. string[] žodžiai = e.Split(skyrikliai, StringSplitOptions.RemoveEmptyEntries); // eilutę suskaidom į atskirus žodžius be skyriklių
  53. foreach (string žodis in žodžiai)
  54. {
  55. balsKiek = SkirtBalsiuSkaicius(žodis); // tikrinama, kiek konkrečiam žody yra balsių
  56. if (balsKiek == 3) // tikrinama pagal reikiamą sąlygą
  57. {
  58. if (ilgžodis.Length < žodis.Length)
  59. ilgžodis = žodis;
  60. }
  61. }
  62. return ilgžodis;
  63. }
  64.  
  65. static void RastiZTekste(string fv, string sk, out string zod, ref int me)
  66. {
  67. string[] lines = File.ReadAllLines(fv);
  68. zod = "";
  69. int eilNr = 0;
  70. foreach (string line in lines)
  71. {
  72. eilNr++;
  73. if (line.Length > 0) // tikrinama, ar eilutėj apskritai yra teksto
  74. {
  75. string zodis = RastiZodiEil(line, sk);
  76. if (zodis.Length > 0) // tikrinama, ar toje eilutėje yra toks žodis (su 3im skirtingom balsėm)
  77. {
  78. if (zod.Length < zodis.Length)
  79. {
  80. zod = zodis;
  81. me = eilNr;
  82. }
  83. }
  84. }
  85. }
  86. }
  87.  
  88. static void PerkeltiEilute(string fvd, string fvr, int n)
  89. {
  90. int eilNr = 0;
  91. using (var fr = File.CreateText(fvr))
  92. {
  93. string[] lines = File.ReadAllLines(fvd);
  94. foreach (string line in lines)
  95. {
  96. eilNr++;
  97. if (eilNr == n)
  98. fr.WriteLine(line);
  99. }
  100.  
  101. eilNr = 0;
  102. foreach (string line in lines)
  103. {
  104. eilNr++;
  105. if (eilNr != n)
  106. fr.WriteLine(line);
  107. }
  108. }
  109. }
  110. }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement