Дан символный файл f. Записать в файл g с сохранением порядка следования те символы файла f - C#
Формулировка задачи:
C# Дан символный файл f.Записать в файл g с сохранением порядка следования те символы файла f.
a)которым в этом файле предшествует буква а;
б)вслед за которым в этом файле идет буква а.
Заранее спасибо большое
Решение задачи: «Дан символный файл f. Записать в файл g с сохранением порядка следования те символы файла f»
textual
Листинг программы
using System.IO; interface IStateMachine { void PutNext(char ch); } class StateMachineA : IStateMachine { private bool _isPreviousA = false; private readonly StreamWriter _output; public StateMachineA(StreamWriter output) { _output = output; } public void PutNext(char ch) { if (_isPreviousA) _output.Write(ch); _isPreviousA = ch == 'a'; } } class StateMachineB : IStateMachine { private char? _previous = null; private readonly StreamWriter _output; public StateMachineB(StreamWriter output) { _output = output; } public void PutNext(char ch) { if (ch == 'a' && _previous != null) _output.Write(_previous); _previous = ch; } } class Program { static void Render(StreamReader input, IStateMachine stateMachine) { int ch; while ((ch = input.Read()) != -1) { stateMachine.PutNext((char)ch); } } static void SolveProblemA(string inputFileName, string outputFileName) { using (var input = File.OpenText(inputFileName)) using (var output = File.CreateText(outputFileName)) { Render(input, new StateMachineA(output)); } } static void SolveProblemB(string inputFileName, string outputFileName) { using (var input = File.OpenText(inputFileName)) using (var output = File.CreateText(outputFileName)) { Render(input, new StateMachineB(output)); } } static void Main(string[] args) { SolveProblemA("f.txt", "gA.txt"); SolveProblemB("f.txt", "gB.txt"); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д