Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.09 KB | None | 0 0
  1.             char symbol = 'Д';
  2.             Console.WriteLine(symbol);
  3.             int translation = 33;
  4.             char min = 'а';
  5.             char max = 'я';
  6.             char nReturn = Translate(symbol, translation, min, max);
  7.             Console.WriteLine(nReturn);
  8.             //Console.WriteLine(Convert.ToChar((int)symbol));
  9.         }
  10.         static char Translate(char symbol, int translation, char min = 'а', char max = 'я')
  11.         {
  12.  
  13.             //int n = Convert.ToInt32(symbol) + translation;
  14.             int min_int = Convert.ToInt32(min);
  15.             int translation2 = 0;
  16.             int max_int = Convert.ToInt32(max);
  17.             if (-32 <= translation && translation <= 32)
  18.             {
  19.                 translation2 = translation;
  20.             }
  21.             if (translation > 32)
  22.             {
  23.                 translation2 = translation % 32;
  24.             }
  25.             else if ((translation < -32))
  26.             {
  27.                 translation2 = translation % -32;
  28.             }
  29.             int invariable = Convert.ToInt32(symbol);
  30.             if (invariable > 1103 || invariable < 1072)
  31.             {
  32.                
  33.                 Console.WriteLine("Данный символ "+ symbol +" не входит в диапазон а-я");
  34.                 return symbol;
  35.             }
  36.             int n = Clamp((Convert.ToInt32(symbol) + translation2), min_int, max_int);
  37.             char nReturn = Convert.ToChar(n);
  38.             return nReturn;
  39.         }
  40.  
  41.         static int Clamp(int current, int min, int max)
  42.         {
  43.  
  44.            
  45.              if (current<min)
  46.             {
  47.                 int different = min % current;
  48.                 current = max - different +1 ;
  49.                 return current;
  50.             }
  51.             else if (current > max)
  52.             {
  53.                 int diffirent = current % max;
  54.                 current = min + diffirent -1;
  55.                 return current;
  56.             }
  57.             if (min >= current && current <= max)
  58.             {
  59.                 return current;
  60.             }
  61.             return current;
  62.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement