Advertisement
Guest User

Untitled

a guest
Nov 17th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.39 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. using System.Text.RegularExpressions;
  8.  
  9. namespace P5_sav2
  10. {
  11. class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15. const string CFd = @"Data.txt";
  16. const string CFr = @"Results.txt";
  17. const string CFa = @"Analysis.txt";
  18. Apdoroti(CFd, CFr, CFa);
  19. }
  20.  
  21. static void Apdoroti(string fv, string fvr, string fa)
  22. {
  23. string[] lines = File.ReadAllLines(fv, Encoding.GetEncoding(1257));
  24. using (var fr = File.CreateText(fvr))
  25. {
  26. using (var far = File.CreateText(fa))
  27. {
  28. BeKomentaru(lines, fr, far);
  29. }
  30. }
  31. }
  32.  
  33. static void BeKomentaru(string[] lines, StreamWriter fr, StreamWriter far)
  34. {
  35. int index = 0;
  36. string[] pradzia = new string[256];
  37. string[] pabaiga = new string[256];
  38. string[] eil = new string[256];
  39. string[] com = new string[256];
  40. string[] naujaPr = new string[256];
  41. string[] naujaPab = new string[256];
  42. string[] naujaEil = new string[256];
  43. string[] naujaCom = new string[256];
  44.  
  45. foreach (var line in lines)
  46. {
  47. for (int i = 0; i < line.Length - 1; i++)
  48. {
  49. if (line[i] == '/' && line[i + 1] == '*')
  50. {
  51. pradzia[index] = line;
  52. naujaPr[index] = TrintiTeksta1(line);
  53. }
  54. if (line[i] == '*' && line[i + 1] == '/')
  55. {
  56. pabaiga[index] = line;
  57. naujaPab[index] = TrintiTeksta2(line);
  58. }
  59. if (line[i] == '/' && line[i + 1] == '/')
  60. {
  61. eil[index] = line;
  62. naujaEil[index] = TrintiTeksta3(line);
  63. }
  64. if (line[i] == '/' && line[i + 1] == '*' || line[i] == '*' && line[i + 1] == '/' || line[i] == '/' && line[i + 1] == '/')
  65. {
  66. far.WriteLine(line);
  67. }
  68. }
  69.  
  70. for (int i = 0; i < line.Length - 3; i++)
  71. {
  72. for (int j = 0; j < line.Length - 1; j++)
  73. {
  74. if (line[i] == '/' && line[i + 1] == '*' && line[j] == '*' && line[j + 1] == '/')
  75. {
  76. com[index] = line;
  77. naujaCom[index] = TrintiTeksta4(line);
  78. }
  79. }
  80. }
  81. index++;
  82. }
  83. string[] newLines = PRirPAB(index, pradzia, pabaiga, eil, com, naujaPr, naujaPab, naujaEil, naujaCom, lines);
  84. foreach (var newLine in newLines)
  85. {
  86. fr.WriteLine(newLine);
  87. }
  88. }
  89.  
  90. static string[] PRirPAB(int index, string[] pradzia, string[] pabaiga, string[] eil, string[] com, string[] naujaPR, string[] naujaPab, string[] naujaEil, string[] naujaCom, string[] lines)
  91. {
  92. for (int i = 0; i < index; i++)
  93. {
  94. if (lines[i] == pradzia[i] && lines[i] == pabaiga[i])
  95. {
  96. lines[i] = naujaCom[i];
  97. }
  98.  
  99. else if (lines[i] == pradzia[i])
  100. {
  101. for (int j = i; j < index; j++)
  102. {
  103. if (lines[j] == pabaiga[j])
  104. {
  105. if (j > i + 1)
  106. {
  107. for (int k = i + 1; k < j; k++)
  108. {
  109. if (lines[k].Length > 0)
  110. lines[k] = lines[k].Remove(0);
  111. }
  112. lines[j] = naujaPab[j];
  113. break;
  114. }
  115. else if (j == i + 1)
  116. {
  117. lines[i] = naujaPR[i];
  118. lines[j] = naujaPab[j];
  119. break;
  120. }
  121. }
  122. }
  123. lines[i] = naujaPR[i];
  124. }
  125.  
  126. else if (lines[i] == eil[i])
  127. lines[i] = naujaEil[i];
  128. }
  129. for (int i = 0; i < index; i++)
  130. {
  131. lines = lines.Where(x => !string.IsNullOrEmpty(x)).ToArray();
  132. }
  133. return lines;
  134. }
  135.  
  136. static string TrintiTeksta1(string line)
  137. {
  138. string nauja = line;
  139. for (int i = 0; i < line.Length - 1; i++)
  140. {
  141. if (line[i] == '/' && line[i + 1] == '*')
  142. nauja = line.Remove(i);
  143. }
  144. return nauja;
  145. }
  146. static string TrintiTeksta2(string line)
  147. {
  148. string nauja = line;
  149. for (int i = 0; i < line.Length - 1; i++)
  150. {
  151. if (line[i] == '*' && line[i + 1] == '/')
  152. nauja = line.Remove(0,i+2);
  153. }
  154. return nauja;
  155. }
  156. static string TrintiTeksta3(string line)
  157. {
  158. string nauja = line;
  159. for (int i = 0; i < line.Length - 1; i++)
  160. {
  161. if (line[i] == '/' && line[i + 1] == '/')
  162. nauja = line.Remove(i);
  163. }
  164. return nauja;
  165. }
  166. static string TrintiTeksta4(string line)
  167. {
  168. string nauja = line;
  169. for (int i = 0; i < line.Length - 3; i++)
  170. {
  171. for (int j = 0; j < line.Length - 1; j++)
  172. {
  173. if (line[i] == '/' && line[i + 1] == '*' && line[j] == '*' && line[j + 1] == '/')
  174. {
  175. nauja = line.Remove(i, j - i + 2);
  176. }
  177. }
  178. }
  179. return nauja;
  180. }
  181. }
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement