Индекс и длина должны указывать на позицию в строке. Имя параметра: length - C#
Формулировка задачи:
Имеется такой вот метод:
С помощью BreakPoint проверял работоспособность. Выводит следующую ошибку:
public string EncryptionShuffle(string text, int[] key) { string result = null; // ************************************************************************ int i, j, w, n, m; string s; j = 0; s = text; for (i = 1; i < text.Length; i++) { j = i * 2; n = key[j - 1]; m = key[j]; if (n > m) { w = n; n = m; m = w; } s = s.Substring(m + 1, text.Length - m) + s.Substring(n + 1, m - n) + s.Substring(1, n); result = s; } // ************************************************************************ return result; }
Индекс и длина должны указывать на позицию в строке. Имя параметра: length
Помогите пожалуйста устранить данную ошибку.Решение задачи: «Индекс и длина должны указывать на позицию в строке. Имя параметра: length»
textual
Листинг программы
……………………………………………. const Lmax=100; ……………………………………………. type TArr=array[1..Lmax] of integer; ……………………………………………. {процедура-функция генерации ключа для шифрования тасовкой входной параметр L - длина блока исходного текста для зашифровки} function Passwrd(L:integer):TArr; var i:integer; arr:TArr; begin for i:=1 to 2 do arr:=PerestRnd(L); // function PerestRnd(l:integer):TArr; - // функция (определяемая пользователем) формирования // случайным образом L неповторяющихся целых чисел // в диапазоне от 1 до L, // результат - в виде массива; result:=arr; end; {**********************************************************} {процедура-функция шифрования исходного текста txt, результат типа string - зашифрованный текст} function SHTasov_TO(txt:string;passw:TArr):string; var i,j,w,n,m:integer; s:string; begin j:=0; s:=txt; for i:=1 to length(txt) do begin j:=i*2; n:=passw[j-1]; m:=passw[j]; if n>m then begin w:=n; n:=m; m:=w; end; s:=copy(s,m+1,length(txt)-m)+copy(s,n+1,m-n)+copy(s,1,n); end; result:=s; end; {**********************************************************} {процедура-функция расшифровки текста txt, результат типа string - расшифрованный текст} function SHTasov_FROM(txt:string;passw:TArr):string; var i,j,w:integer; n,m:longint; s:string; begin j:=0; s:=txt; for i:=length(txt) downto 1 do begin j:=i*2; n:=passw[j-1]; m:=passw[j]; if n>m then begin w:=n; n:=m; m:=w; end; s:=copy(s,length(txt)-n+1,n)+copy(s,length(txt)-m+1,m- n)+copy(s,1,length(txt)-m); end; result:=s; end;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д