Предмет: Информатика,
автор: marsmag
Вам необходимо преобразовать множество старых программ для новой версии компилятора. Для этого необходимо заменить "->" на "." везде, кроме комментариев. Комментарии в данном языке программирования начинаются с символов "//" и продолжаются до конца строки. Напишите программу, выполняющую такое преобразование. Входной файл содержит от 1 до 500 строк длиной не более 50 символов с ASCII-кодами от 32 до 127 – текст программы, которую нужно преобразовать. В выходной файл вывести преобразованный текст программы.
Пример ввода
Test* t = new Test(); t->a = 1; t->b = 2; t->go(); // a=1, b=2 -> a=2, b=3Вывод для примера
Test* t = new Test(); t.a = 1; t.b = 2; t.go(); // a=1, b=2 -> a=2, b=3Ответы
Автор ответа:
0
var sFile: array of string := System.IO.File.ReadAllLines('in.txt');
sComm, str2: string;
begin
foreach str: string in sFile do
begin
sComm := System.Text.RegularExpressions.Regex.Matches
(str, '.*(//.*)').Item[0].Groups[1].Value;
System.IO.File.AppendAllText('out.txt', String.Format('{0}{1}', sComm.Insert(0, System.Text.RegularExpressions.Regex.Replace(str, '(.*)//.*', '$1').Replace('->', '.')), System.Environment.NewLine));
end;
end.
sComm, str2: string;
begin
foreach str: string in sFile do
begin
sComm := System.Text.RegularExpressions.Regex.Matches
(str, '.*(//.*)').Item[0].Groups[1].Value;
System.IO.File.AppendAllText('out.txt', String.Format('{0}{1}', sComm.Insert(0, System.Text.RegularExpressions.Regex.Replace(str, '(.*)//.*', '$1').Replace('->', '.')), System.Environment.NewLine));
end;
end.
Автор ответа:
0
на паскале
Автор ответа:
0
спасибо
Похожие вопросы
Предмет: Математика,
автор: zoroevaajdaj426
Предмет: Русский язык,
автор: Аноним
Предмет: Қазақ тiлi,
автор: nazymahmetzan00
Предмет: Математика,
автор: DashaKonnik123
Предмет: Математика,
автор: lanusic