Переставить буквы - C#
Формулировка задачи:
Есть программа, которая заменяет буквы в строке (из 6 символов) по ключу (ключ 6 символов).
Ex. АБВГДЕ станет ЕВБДАГ (согласно ключу)
В текущем варианте всё упирается во входную строку длиной 6 символов, что добавить/изменить для перестановки строки длиной более 6 символов??
public static string Encryption(string text, int[] key) { string new_text = ""; for (int i = 0; i < 6; i++) { new_text += text[key[i] - 1]; } return new_text; } private static void Main() { var s =Console.ReadLine(); int[] key = {6,3,2,5,1,4}; var s2=Encryption(s,key); Console.WriteLine(s2); Console.ReadKey(); }
Решение задачи: «Переставить буквы»
textual
Листинг программы
public static string Encryption(string text, int[] key) { return string.Join("", text.Zip(key, (c, i) => new { ch = c, ii = i }).OrderBy(x=> x.ii).Select(x=>x.ch)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д