Advertisement
Infiniti_Inter

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Sep 29th, 2019
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.07 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Diagnostics;
  8. using System.Threading;
  9.  
  10. namespace mainSolution
  11. {
  12.     public class MyException : Exception
  13.     {
  14.         public MyException(string messege) : base(message: messege + "\n\n\n Exception founded by Decibit\n\n\n") { }
  15.         public MyException() : base()
  16.         {
  17.  
  18.         }
  19.         public void Messsage()
  20.         {
  21.             Console.WriteLine("\n\n\n\n\n\n Invalid number, please enter a number from 1 to 12 \n\n\n\n\n\n");
  22.         }
  23.  
  24.  
  25.     }
  26.     class Input
  27.     {
  28.         private static IEnumerator<string> getin()
  29.         {
  30.             while (true)
  31.                 foreach (string s in Console.ReadLine().Split().Where(x => x.Length > 0))
  32.                     yield return s;
  33.         }
  34.  
  35.         private IEnumerator<string> inp = getin();
  36.  
  37.         public string GetString() { inp.MoveNext(); return inp.Current; }
  38.         public int GetInt() { return int.Parse(GetString()); }
  39.         public long GetLong() { return long.Parse(GetString()); }
  40.         public double GetDouble() { return double.Parse(GetString()); }
  41.     }
  42.     public class Pair<T, K>
  43.     {
  44.         public T First { get; set; }
  45.         public K Second { get; set; }
  46.     }
  47.     static class Program
  48.     {
  49.         static public Input cin = new Input();
  50.         static bool cmp(Pair<int, int> a, Pair<int, int> b)
  51.         {
  52.             if (a.First > b.First)
  53.                 return true;
  54.             else
  55.                 return false;
  56.         }
  57.         static StringBuilder NextPermutatuin(StringBuilder s, int shift)
  58.         {
  59.             shift = 'о' - 'а' - shift;
  60.             StringBuilder res = new StringBuilder();
  61.             for (int i = 0; i < s.Length; i++)
  62.             {
  63.                 if (s[i] == ' ')
  64.                 {
  65.                     res.Append(' ');
  66.                     continue;
  67.                 }
  68.                 res.Append(Convert.ToChar(s[i] + shift));
  69.             }
  70.             return res;
  71.         }
  72.         static void Main(string[] args)
  73.         {
  74.             List<Pair<int, int>> cnt = new List<Pair<int, int>>(101);
  75.             for (int i = 0; i < 100; i++)
  76.             {
  77.                 cnt.Add(new Pair<int, int> ());
  78.                 cnt[i] = new Pair<int, int>();
  79.                 cnt[i].Second = i;
  80.             }
  81.             //int sh = 2;
  82.             string t = Console.ReadLine();
  83.             StringBuilder s = new StringBuilder();
  84.             for (int i = 0; i < t.Length; ++i)
  85.             {
  86.                 s[i] = t[i];
  87.             }
  88.             /*
  89.             for (int i = 0; i < t.Length; i++)
  90.             {
  91.                 if (t[i] == ' ')
  92.                 {
  93.                     s.Append(' ');
  94.                     continue;
  95.                 }
  96.                 s.Append(Convert.ToChar(t[i] + sh));
  97.             }
  98.             */
  99.             for (int i = 0; i < s.Length; i++)
  100.             {
  101.                 char c = char.ToLower(s[i]);
  102.                 int d = c - 'а';
  103.                 if (char.IsLetter(c))
  104.                 {
  105.                     cnt[c - 'а'].First++;
  106.                 }
  107.             }
  108.             cnt.Sort((y, x) => x.First.CompareTo(y.First));
  109.            
  110.             int k = 0;
  111.            /* for (int i = 0; i < 8; i++)
  112.             { Console.WriteLine($"{cnt[i].First} {Convert.ToChar(cnt[i].Second + 'а')}"); };
  113.             */
  114.             StringBuilder ans = NextPermutatuin(s, cnt[k++].Second);
  115.             Console.WriteLine($"ans = {ans}");
  116.             Console.WriteLine("enter \"1\" if text is done else enter any key");
  117.             ConsoleKeyInfo cki = Console.ReadKey();
  118.            
  119.             while (cki.KeyChar != '1')
  120.             {
  121.                 ans = NextPermutatuin(s, cnt[k++].Second);
  122.                 Console.WriteLine($"ans = {ans}");
  123.                 Console.WriteLine("enter \"1\" if text is done else enter any key");
  124.                 cki = Console.ReadKey();
  125.  
  126.             }
  127.             Console.WriteLine($"ans = {ans}");
  128.          
  129.         }
  130.  
  131.        
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement