Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char symbol = 'Д';
- Console.WriteLine(symbol);
- int translation = 33;
- char min = 'а';
- char max = 'я';
- char nReturn = Translate(symbol, translation, min, max);
- Console.WriteLine(nReturn);
- //Console.WriteLine(Convert.ToChar((int)symbol));
- }
- static char Translate(char symbol, int translation, char min = 'а', char max = 'я')
- {
- //int n = Convert.ToInt32(symbol) + translation;
- int min_int = Convert.ToInt32(min);
- int translation2 = 0;
- int max_int = Convert.ToInt32(max);
- if (-32 <= translation && translation <= 32)
- {
- translation2 = translation;
- }
- if (translation > 32)
- {
- translation2 = translation % 32;
- }
- else if ((translation < -32))
- {
- translation2 = translation % -32;
- }
- int invariable = Convert.ToInt32(symbol);
- if (invariable > 1103 || invariable < 1072)
- {
- Console.WriteLine("Данный символ "+ symbol +" не входит в диапазон а-я");
- return symbol;
- }
- int n = Clamp((Convert.ToInt32(symbol) + translation2), min_int, max_int);
- char nReturn = Convert.ToChar(n);
- return nReturn;
- }
- static int Clamp(int current, int min, int max)
- {
- if (current<min)
- {
- int different = min % current;
- current = max - different +1 ;
- return current;
- }
- else if (current > max)
- {
- int diffirent = current % max;
- current = min + diffirent -1;
- return current;
- }
- if (min >= current && current <= max)
- {
- return current;
- }
- return current;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement