Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.99 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. class Program
  4. {
  5.  
  6.     static string StringGeneration(int N)
  7.     {
  8.         Random gen = new Random();
  9.         char[] letters = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
  10.         string myString = "";
  11.         for (int i = 0; i < N; i++)
  12.         {
  13.             myString = myString + letters[gen.Next(0, 26)];
  14.         }
  15.         return myString;
  16.     }
  17.     static char MaxElement(char[] letters)
  18.     {
  19.         int[] indexNum = new int[26];
  20.         int max = -1, index = -1;
  21.         for (int i = 0; i < letters.Length; i++)
  22.         {
  23.             indexNum[(int)letters[i] % 97] += 1;
  24.         }
  25.         for (int i = 0; i < indexNum.Length; i++)
  26.         {
  27.             if (indexNum[i] > max)
  28.             {
  29.                 max = indexNum[i];
  30.                 index = i;
  31.             }
  32.         }
  33.         return (char)(index + 97);
  34.     }
  35.     static char[] KElements(char[] letters, int k)
  36.     {
  37.         string myString = "";
  38.         for (int i = 0; i < letters.Length; i++)
  39.         {
  40.             if (((int)letters[i] - 97) % k == 0)
  41.             {
  42.                 myString += letters[i];
  43.             }
  44.         }
  45.         return myString.ToCharArray();
  46.     }
  47.  
  48.     static int NumberInInterval(char[] letters, char ch1, char ch2)
  49.     {
  50.         int answer = 0;
  51.         for (int i = 0; i < letters.Length; i++)
  52.         {
  53.             if (((int)letters[i] > (int)ch1) & ((int)letters[i] < (int)ch2))
  54.             {
  55.                 answer += 1;
  56.             }
  57.         }
  58.         return answer;
  59.     }
  60.     static int[] RateLetters(char[] letters)
  61.     {
  62.         int[] indexNum = new int[26];
  63.         for (int i = 0; i < letters.Length; i++)
  64.         {
  65.             indexNum[(int)letters[i] % 97] += 1;
  66.         }
  67.         return indexNum;
  68.     }
  69.     static void Main()
  70.     {
  71.         Console.WriteLine("Начало программы");
  72.         Console.WriteLine("MaxElement : 1");
  73.         Console.WriteLine("KElements : 2");
  74.         Console.WriteLine("NumberInInterval : 3");
  75.         Console.WriteLine("RateLetters : 4");
  76.         char ch1, ch2;
  77.         int N, k, s;
  78.         do
  79.         {
  80.             Console.WriteLine("Введите значение N:");
  81.         } while (!int.TryParse(Console.ReadLine(), out N) | N < 1);
  82.         string str = StringGeneration(N);
  83.         try
  84.         {
  85.             File.WriteAllText("../../../output.txt", str + "\r\n");
  86.         }
  87.         catch (Exception e)
  88.         {
  89.             Console.WriteLine(e.Message);
  90.         }
  91.         do
  92.         {
  93.  
  94.             do
  95.             {
  96.                 Console.WriteLine("Введите значение s:");
  97.             } while (!int.TryParse(Console.ReadLine(), out s) | s < 1 | s > 4);
  98.  
  99.             Console.WriteLine(str);
  100.             char[] letters = str.ToCharArray();
  101.             if (s == 1)
  102.             {
  103.                 Console.WriteLine(MaxElement(letters));
  104.                 File.AppendAllText("../../../output.txt", MaxElement(letters).ToString() + "\r\n");
  105.             }
  106.             else if (s == 2)
  107.             {
  108.                 do
  109.                 {
  110.                     Console.WriteLine("Введите значение k:");
  111.                 } while (!int.TryParse(Console.ReadLine(), out k) | k < 0);
  112.                 char[] kletters = KElements(letters, k);
  113.                 for (int i = 0; i < kletters.Length; i++)
  114.                 {
  115.                     Console.Write(kletters[i] + " ");
  116.                     File.AppendAllText("../../../output.txt", kletters[i].ToString() + " ");
  117.                 }
  118.                 File.AppendAllText("../../../output.txt", "\r\n");
  119.                 Console.WriteLine();
  120.             }
  121.  
  122.             else if (s == 3)
  123.             {
  124.                 do
  125.                 {
  126.                     Console.WriteLine("Введите значение ch1:");
  127.                 } while (!char.TryParse(Console.ReadLine(), out ch1) | (int)ch1 < 97 | (int)ch1 > 122);
  128.                 do
  129.                 {
  130.                     Console.WriteLine("Введите значение ch2:");
  131.                 } while (!char.TryParse(Console.ReadLine(), out ch2) | (int)ch2 < 97 | (int)ch2 > 122);
  132.                 Console.WriteLine(NumberInInterval(letters, ch1, ch2));
  133.                 File.AppendAllText("../../../output.txt", NumberInInterval(letters, ch1, ch2).ToString() + "\r\n");
  134.  
  135.             }
  136.             else if (s == 4)
  137.             {
  138.                 int[] IndexNum = RateLetters(letters);
  139.                 for (int i = 0; i < 26; i++)
  140.                 {
  141.                     if (IndexNum[i] != 0)
  142.                     {
  143.                         Console.WriteLine((char)(i + 97) + " = " + IndexNum[i]);
  144.                         File.AppendAllText("../../../output.txt", ((char)(i + 97)).ToString() + " = " + IndexNum[i].ToString() + "\r\n");
  145.                     }
  146.                 }
  147.  
  148.             }
  149.             Console.WriteLine("ДлЯ выхода из программы нажмите Escape");
  150.         } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
  151.     }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement