// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
function TR(Self,aold,anew:string):string; extensionmethod; begin Result:=''; var n:=Min(aold.Length,anew.Length); for var i:=1 to Self.Length do begin var fnd:=false; for var j:=1 to n do if Self[i]=aold[j] then begin Result+=anew[j]; fnd:=true; break end; if not fnd then Result+=Self[i] end end;
begin Randomize; var k:=Ord('a'); var s:=SeqGen(50,t->Chr(Random(26)+k)).JoinIntoString; s.Println; s:=s.TR('ao','oa'); s.Println end.
Пример gclcewxcscqmnuazhvkrswrvbqsiholmlarlfuyqaipvayhovb gclcewxcscqmnuozhvkrswrvbqsihalmlorlfuyqoipvoyhavb
// Внимание! Если программа не работает, обновите версию!
function TR(Self,aold,anew:string):string; extensionmethod;
begin
Result:='';
var n:=Min(aold.Length,anew.Length);
for var i:=1 to Self.Length do begin
var fnd:=false;
for var j:=1 to n do
if Self[i]=aold[j] then begin
Result+=anew[j];
fnd:=true;
break
end;
if not fnd then Result+=Self[i]
end
end;
begin
Randomize;
var k:=Ord('a');
var s:=SeqGen(50,t->Chr(Random(26)+k)).JoinIntoString;
s.Println;
s:=s.TR('ao','oa'); s.Println
end.
Пример
gclcewxcscqmnuazhvkrswrvbqsiholmlarlfuyqaipvayhovb
gclcewxcscqmnuozhvkrswrvbqsihalmlorlfuyqoipvoyhavb
const
cols=79;
var
i,j, idx:byte;
elm:integer;
T:array[1..cols]of char;
begin
writeln('Заполнение массива из ', cols ,' элементов Английским алфавитом');
for i:=1 to cols do begin
//c 65 позиции начинаются заглавные латинские буквы
T[i]:= ChrAnsi( random(1,26)+64 );
write(T[i]:2);
end;
writeln();
writeln();
writeln('Заменить все а на о и все о на а');
for i:=1 to cols do begin
if (T[i]='A') then
T[i]:='O'
else
if (T[i]='O') then
T[i]:='A';
write(T[i]:2);
end;
end.