Переставить буквы - C#

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

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

Есть программа, которая заменяет буквы в строке (из 6 символов) по ключу (ключ 6 символов). Ex. АБВГДЕ станет ЕВБДАГ (согласно ключу)
        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();          
        }
В текущем варианте всё упирается во входную строку длиной 6 символов, что добавить/изменить для перестановки строки длиной более 6 символов??

Решение задачи: «Переставить буквы»

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));
        }

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


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

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

15   голосов , оценка 4.067 из 5
Похожие ответы