Примечание: файл "file.txt" должен существовать в корневой папке программы. Если что-то не работает / работает не так, напишите об этом.
using System;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
const int c = 'С';
string text;
using (FileStream file = new FileStream($"file.txt", FileMode.Open))
{
using (StreamReader reader = new StreamReader(file, System.Text.Encoding.Default))
{
text = reader.ReadToEnd();
}
}
string pattern = @"\w+";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(pattern);
System.Text.RegularExpressions.MatchCollection mc = reg.Matches(text);
using (FileStream file2 = new FileStream($"file2.txt", FileMode.OpenOrCreate))
{
using (StreamWriter writer = new StreamWriter(file2, System.Text.Encoding.UTF8))
{
foreach (var el in mc)
if ((el.ToString()[0] == c) || (el.ToString())[0] == Char.ToLower((char)c))
writer.WriteLine(el);
}
}
}
}
}
program DecToBinCount;
uses
SysUtils, StrUtils;
function DecToBin (m: Integer): string;
var
r: Integer;
s: string;
begin
while (m > 0) do Begin
r := m mod 2;
m := m div 2;
s := IntToStr (r) + s;
end;
Result := s;
end;
var
m, n, x, i, c: Integer;
s: string;
begin
Write ('Введите M, N, X: ');
ReadLn (m, n, x);
WriteLn;
c := 0;
for i := m to n do begin
s := DecToBin (i);
if RightStr (s, x) = StringOfChar ('0', x) then begin
WriteLn (s, ' '); // для проверки. после тестирования закомментарить
Inc (c);
end;
end;
WriteLn (c);
ReadLn;
end.