Перевести с Delphi на C# маленький блок кода

Узнай цену своей работы

Формулировка задачи:

Function CodingStr(Str,Key:String):String;
Const
  Letters = ['А'..'я'];
Var
  i,j : Integer;
Begin
  j:=1;
  For i:=1 To Length(Str) Do
  If Str[i] In Letters Then 
  Begin
    Str[i]:=Char(((Ord(Str[i])-Ord('А')+Ord(Key[j])-Ord('0')+1)
    Mod (Ord('я')-Ord('А')+1))+Ord('А'));
    Inc(j);
    If j>Length(Key) Then j:=1;
  End;
  Result:=Str;
End;

Решение задачи: «Перевести с Delphi на C# маленький блок кода»

textual
Листинг программы
        string CodingStr(string s, string key)
        {
            var letters = new char[64];
            for (int i = 0, j = 'А'; j <= 'я'; i++, j++)
                letters[i] = (char)j;
 
            var charStr = s.ToCharArray();
            for (int i = 0, j = 0; i < charStr.Length; i++)
            {
                if (!letters.Any(c => charStr[i] == c))
                    continue;
 
                charStr[i] = (char)((charStr[i] - 'А' + key[j] - '0' + 1)
                    % ('я' - 'А' + 1 + 'А'));
                if (key.Length == ++j) j = 0;
            }
 
            return new String(charStr);
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5