NelIfandieva

MoreExArrays_01_EncryptSortPrint

Jan 30th, 2020
84
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. static void Main()
  2.         {
  3.             int n = int.Parse(Console.ReadLine());
  4.  
  5.             long[] encryptedStrings = ReturnEncryptedStrings(n);
  6.  
  7.             Console.Write(string.Join("\n", encryptedStrings.OrderBy(s => s)));
  8.         }
  9.  
  10.         private static long[] ReturnEncryptedStrings(int n)
  11.         {
  12.             long[] encryptedStrings = new long[n];
  13.  
  14.             for (int i = 0; i < n; i++)
  15.             {
  16.                 string input = Console.ReadLine();
  17.  
  18.                 long encryptedInput = EcryptString(input);
  19.                 encryptedStrings[i] = encryptedInput;
  20.             }
  21.  
  22.             return encryptedStrings;
  23.         }
  24.  
  25.         private static long EcryptString(string input)
  26.         {
  27.             long encryptedString = 0;
  28.             int stringLength = input.Length;
  29.             for (int i = 0; i < input.Length; i++)
  30.             {
  31.                 char current = input[i];
  32.                 int charAsNum = ReturnCharAsNum(input, current);
  33.                 encryptedString += charAsNum;
  34.             }
  35.  
  36.             return encryptedString;
  37.         }
  38.  
  39.         private static int ReturnCharAsNum(string input, char current)
  40.         {
  41.             int stringLength = input.Length;
  42.             int charAsNum = 0;
  43.  
  44.             switch (current)
  45.             {
  46.                 case 'a':
  47.                 case 'A':
  48.                 case 'e':
  49.                 case 'E':
  50.                 case 'i':
  51.                 case 'I':
  52.                 case 'o':
  53.                 case 'O':
  54.                 case 'u':
  55.                 case 'U':
  56.                     charAsNum = (byte)current * stringLength;
  57.                     break;
  58.                 case 'b':
  59.                 case 'B':
  60.                 case 'c':
  61.                 case 'C':
  62.                 case 'd':
  63.                 case 'D':
  64.                 case 'f':
  65.                 case 'F':
  66.                 case 'g':
  67.                 case 'G':
  68.                 case 'h':
  69.                 case 'H':
  70.                 case 'j':
  71.                 case 'J':
  72.                 case 'k':
  73.                 case 'K':
  74.                 case 'l':
  75.                 case 'L':
  76.                 case 'm':
  77.                 case 'M':
  78.                 case 'n':
  79.                 case 'N':
  80.                 case 'p':
  81.                 case 'P':
  82.                 case 'q':
  83.                 case 'Q':
  84.                 case 'r':
  85.                 case 'R':
  86.                 case 's':
  87.                 case 'S':
  88.                 case 't':
  89.                 case 'T':
  90.                 case 'v':
  91.                 case 'V':
  92.                 case 'w':
  93.                 case 'W':
  94.                 case 'x':
  95.                 case 'X':
  96.                 case 'y':
  97.                 case 'Y':
  98.                 case 'z':
  99.                 case 'Z':
  100.                     charAsNum = (byte)current / stringLength;
  101.                     break;
  102.                 default:
  103.                     break;
  104.  
  105.             }
  106.  
  107.             return charAsNum;
  108.         }
RAW Paste Data