Прог-ие 1К 2С / 6
.docxprogram Project2;
{
6. Сформировать набор данных RusAngl.txt содержит английские
и русские слова вперемешку. Получить из него новый набор Rus.txt,
в который переписать все русские слова из исходного набора.
Слова в обоих наборах разделены произвольным количеством пробелов.
}
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
read_file, write_file : text;
sym : char;
c, len, i, num : integer;
first, title : boolean;
str, t, nabor : string;
begin
{ TODO -oUser -cConsole Main : Insert code here }
t := 'Введите англиские и русские слова вперемешку';
CharToOEM(PChar(t), PChar(t));
writeln(t);
readln(nabor);
OEMToChar(PChar(nabor), PChar(nabor));
assign(read_file,'RusAngl.txt');
rewrite(read_file);
write(read_file, nabor);
close(read_file);
first := false;
c := 0;
reset(read_file, 'RusAngl.txt');
assign(write_file,'Rus.txt');
rewrite(write_file);
read(read_file, str);
Randomize;
len := length(str);
title := false;
for c := 1 to len do
begin
if (str[c] >= 'А')
and (str[c] <= 'я')
or (str[c] = 'Ё')
or (str[c] = 'ё') then
begin
if first then
begin
first := false;
write(' ');
num := 1 + random(9);
for i := 1 to num do
write(write_file, ' ');
end;
if not title then
begin
title := true;
t := 'Русские слова:';
CharToOEM(PChar(t), PChar(t));
writeln(t);
end;
write(write_file, str[c]);
t := str[c];
CharToOEM(PChar(t), PChar(t));
write(t);
end
else
if not first and title then
first := true;
end;
close(read_file);
close(write_file);
if not title then
begin
t := 'Русских слов не найдено!';
CharToOEM(PChar(t), PChar(t));
writeln(t);
end
else
writeln;
t := 'Файлы созданы.';
CharToOEM(PChar(t), PChar(t));
writeln(t);
readln;
end.