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;
- using System.Text.RegularExpressions;
- namespace P5_sav2
- {
- class Program
- {
- static void Main(string[] args)
- {
- const string CFd = @"Data.txt";
- const string CFr = @"Results.txt";
- const string CFa = @"Analysis.txt";
- Apdoroti(CFd, CFr, CFa);
- }
- static void Apdoroti(string fv, string fvr, string fa)
- {
- string[] lines = File.ReadAllLines(fv, Encoding.GetEncoding(1257));
- using (var fr = File.CreateText(fvr))
- {
- using (var far = File.CreateText(fa))
- {
- BeKomentaru(lines, fr, far);
- }
- }
- }
- static void BeKomentaru(string[] lines, StreamWriter fr, StreamWriter far)
- {
- int index = 0;
- string[] pradzia = new string[256];
- string[] pabaiga = new string[256];
- string[] eil = new string[256];
- string[] com = new string[256];
- string[] naujaPr = new string[256];
- string[] naujaPab = new string[256];
- string[] naujaEil = new string[256];
- string[] naujaCom = new string[256];
- foreach (var line in lines)
- {
- for (int i = 0; i < line.Length - 1; i++)
- {
- if (line[i] == '/' && line[i + 1] == '*')
- {
- pradzia[index] = line;
- naujaPr[index] = TrintiTeksta1(line);
- }
- if (line[i] == '*' && line[i + 1] == '/')
- {
- pabaiga[index] = line;
- naujaPab[index] = TrintiTeksta2(line);
- }
- if (line[i] == '/' && line[i + 1] == '/')
- {
- eil[index] = line;
- naujaEil[index] = TrintiTeksta3(line);
- }
- if (line[i] == '/' && line[i + 1] == '*' || line[i] == '*' && line[i + 1] == '/' || line[i] == '/' && line[i + 1] == '/')
- {
- far.WriteLine(line);
- }
- }
- for (int i = 0; i < line.Length - 3; i++)
- {
- for (int j = 0; j < line.Length - 1; j++)
- {
- if (line[i] == '/' && line[i + 1] == '*' && line[j] == '*' && line[j + 1] == '/')
- {
- com[index] = line;
- naujaCom[index] = TrintiTeksta4(line);
- }
- }
- }
- index++;
- }
- string[] newLines = PRirPAB(index, pradzia, pabaiga, eil, com, naujaPr, naujaPab, naujaEil, naujaCom, lines);
- foreach (var newLine in newLines)
- {
- fr.WriteLine(newLine);
- }
- }
- static string[] PRirPAB(int index, string[] pradzia, string[] pabaiga, string[] eil, string[] com, string[] naujaPR, string[] naujaPab, string[] naujaEil, string[] naujaCom, string[] lines)
- {
- for (int i = 0; i < index; i++)
- {
- if (lines[i] == pradzia[i] && lines[i] == pabaiga[i])
- {
- lines[i] = naujaCom[i];
- }
- else if (lines[i] == pradzia[i])
- {
- for (int j = i; j < index; j++)
- {
- if (lines[j] == pabaiga[j])
- {
- if (j > i + 1)
- {
- for (int k = i + 1; k < j; k++)
- {
- if (lines[k].Length > 0)
- lines[k] = lines[k].Remove(0);
- }
- lines[j] = naujaPab[j];
- break;
- }
- else if (j == i + 1)
- {
- lines[i] = naujaPR[i];
- lines[j] = naujaPab[j];
- break;
- }
- }
- }
- lines[i] = naujaPR[i];
- }
- else if (lines[i] == eil[i])
- lines[i] = naujaEil[i];
- }
- for (int i = 0; i < index; i++)
- {
- lines = lines.Where(x => !string.IsNullOrEmpty(x)).ToArray();
- }
- return lines;
- }
- static string TrintiTeksta1(string line)
- {
- string nauja = line;
- for (int i = 0; i < line.Length - 1; i++)
- {
- if (line[i] == '/' && line[i + 1] == '*')
- nauja = line.Remove(i);
- }
- return nauja;
- }
- static string TrintiTeksta2(string line)
- {
- string nauja = line;
- for (int i = 0; i < line.Length - 1; i++)
- {
- if (line[i] == '*' && line[i + 1] == '/')
- nauja = line.Remove(0,i+2);
- }
- return nauja;
- }
- static string TrintiTeksta3(string line)
- {
- string nauja = line;
- for (int i = 0; i < line.Length - 1; i++)
- {
- if (line[i] == '/' && line[i + 1] == '/')
- nauja = line.Remove(i);
- }
- return nauja;
- }
- static string TrintiTeksta4(string line)
- {
- string nauja = line;
- for (int i = 0; i < line.Length - 3; i++)
- {
- for (int j = 0; j < line.Length - 1; j++)
- {
- if (line[i] == '/' && line[i + 1] == '*' && line[j] == '*' && line[j + 1] == '/')
- {
- nauja = line.Remove(i, j - i + 2);
- }
- }
- }
- return nauja;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement