const alphabet="";
var FileName:string
procedure ReadFile(FileName:string);
var f:text;
s:string;
i,k:integer;
begin
assign(f,FileName);
reset(f);
while not eof (f) do begin { пока не конец файла }
readln (f, s);
for i:= 1 to length(s) do begin
k:=pos(s[i], alphabet);
if k=1 then k=length(alphabet); {это приколы изза я}
if k>1 then s[i]:=alphabet[k-1];
end;
writeln(s);
end;
close(f);
end;
Begin
read(FileName);
ReadFile;
readln;
End.
function gcd(a,b:integer):integer;
// Нахождение НОД
begin
while b<>0 do
begin
a:=a mod b;
var i:=b; b:=a; a:=i
end;
Result:=a
end;
procedure Shorter(var a,b:integer);
// "сокращатель" дроби
begin
var k:=gcd(a,b);
a:=a div k;
b:=b div k
end;
begin
var a,b:integer;
Writeln('Введите числитель и знаменатель дроби: ');
Read(a,b);
Write(a,'/',b,'='); Shorter(a,b); Writeln(a,'/',b)
end.
Тестовое решение:
Введите числитель и знаменатель дроби:
25 15
25/15=5/3