Сгенератора случайных чисел заполнить массив алфавитом и заменить все а на о и все о на а

дизззи дизззи    1   16.09.2019 13:40    0

Ответы
Dog12347 Dog12347  07.10.2020 19:49
// 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

Сгенератора случайных чисел заполнить массив алфавитом и заменить все а на о и все о на а
ПОКАЗАТЬ ОТВЕТЫ
Vadim12045683777779 Vadim12045683777779  07.10.2020 19:49
// Программа и скриншот ее работы в приложениях

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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика