teyn_superior

Untitled

Oct 22nd, 2019
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.17 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp1
  8. {
  9.     class Program
  10.     {
  11.         static char CharReader()
  12.         {
  13.             char letter;
  14.             if (char.TryParse(Console.ReadLine(), out letter) && Char.IsLower(letter))
  15.             {
  16.                 return letter;
  17.             }
  18.             else
  19.             {
  20.                 Console.WriteLine("неправильный ввод, введите новый символ");
  21.                 letter = CharReader();
  22.                 return letter;
  23.             }
  24.         }
  25.         static int NumberReader()
  26.         {
  27.             int number;
  28.             if (int.TryParse(Console.ReadLine(), out number))
  29.             {
  30.                 return number;
  31.             }
  32.             else
  33.             {
  34.                 Console.WriteLine("неправильный ввод, введите новое число");
  35.                 number = NumberReader();
  36.                 return number;
  37.             }
  38.         }
  39.  
  40.         static int RangedNumberReader(int cond1, int cond2)
  41.         {
  42.             int number;
  43.             if (int.TryParse(Console.ReadLine(), out number) && number >= cond1 && number <= cond2)
  44.             {
  45.                 return number;
  46.             }
  47.             else
  48.             {
  49.                 Console.WriteLine("неправильный ввод, введите новое число");
  50.                 number = RangedNumberReader(cond1, cond2);
  51.                 return number;
  52.             }
  53.         }
  54.  
  55.         static void ConsoleMenu(out int switcher)
  56.         {
  57.             Console.WriteLine("\t 1.the most common symbol");
  58.             Console.WriteLine("\t 2. новый массив где коды кратны ну числу какомуто допустим");
  59.             Console.WriteLine("\t 3. найти в строке символы с нужного интервала");
  60.             Console.WriteLine("\t 4. подсчет частоты встречаемости символа");
  61.             Console.WriteLine("введите число");
  62.             switcher = RangedNumberReader(1, 2);
  63.         }
  64.         static void StrCharArrGenerator(string mold, out char[] chArr)
  65.         {
  66.             chArr = new char[mold.Length];
  67.             for (int i = 0; i <= mold.Length; i++)
  68.             {
  69.                 chArr[i] = mold[i];
  70.             }
  71.         }
  72.  
  73.         static void CommonCharFinder(char[] chArr)
  74.         {
  75.             int max = (int)default;
  76.             char[] alphabet = new char[26] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
  77.             int[] counter = new int[26];
  78.             for (int i = 0; i < chArr.Length; i++)
  79.             {
  80.                 for (int g = 0; g <= 26; g++)
  81.                 {
  82.                     if (chArr[i] == alphabet[g]) counter[g] += 1;
  83.                 }
  84.             }
  85.             for (int g = 0; g <= 26; g++)
  86.             {
  87.                 if (counter[g] > max)
  88.                     max = counter[g];
  89.             }
  90.             Console.WriteLine(max);
  91.         }
  92.         static void StumbleCounter(char[] chArr)
  93.         {
  94.             char[] alphabet = new char[26] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
  95.             int[] counter = new int[26];
  96.             for (int i = 0; i < chArr.Length; i++)
  97.             {
  98.                 for (int g = 0; g <= 26; g++)
  99.                 {
  100.                     if (chArr[i] == alphabet[g]) counter[g] += 1;
  101.                 }
  102.             }
  103.             for (int g = 0; g <= 26; g++)
  104.             {
  105.                 if (counter[g] != 0)
  106.                     Console.WriteLine("{0} = {1}", alphabet[g], counter[g]);
  107.             }
  108.         }
  109.  
  110.         static void RangedCharArrGenerator(char range1, char range2, char[] chArr)
  111.         {
  112.             int min = (int)default;
  113.             int max = (int)default;
  114.             int amount = (int)default;
  115.             char[] alphabet = new char[26] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
  116.             int[] counter = new int[26];
  117.             for (int i = 0; i < 26; i++)
  118.             {
  119.                 if (range1 == alphabet[i] || range2 == alphabet[i])
  120.                 {
  121.                     min = max;
  122.                     max = i;
  123.                     counter[i] = 1;
  124.                 }
  125.             }
  126.             if (range1 == range2)
  127.                 min = max;
  128.             for (int i = 0; i < chArr.Length; i++)
  129.             {
  130.                 for (int g = 0; g <= 26; g++)
  131.                 {
  132.                     if (chArr[i] == alphabet[g]) counter[g] += 1;
  133.                 }
  134.             }
  135.             for (int i = min; i <= max; i++)
  136.             {
  137.                 if (counter[i] != 0)
  138.                 {
  139.                     amount += counter[i];
  140.                 }
  141.             }
  142.             Console.WriteLine(amount);
  143.         }
  144.  
  145.         static void CodeCharArrGenerator(char[] chArr, int code)
  146.         {
  147.             char[] alphabet = new char[26] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
  148.             char[] DerArr = new char[chArr.Length];
  149.             for (int i = 0; i < chArr.Length; i++)
  150.             {
  151.                 for (int g = 0; g <= 26; g++)
  152.                 {
  153.                     if (chArr[i] == alphabet[g])
  154.                     {
  155.                         DerArr[i] = alphabet[g];
  156.                         chArr[i] = (char)default;
  157.                         break;
  158.                     }
  159.                 }
  160.             }
  161.             for (int g = 0; g <= DerArr.Length; g++)
  162.             {
  163.                 if (DerArr[g] != (char)default)
  164.                     Console.WriteLine(DerArr[g]);
  165.             }
  166.         }
  167.         static string RandomString(int length)
  168.         {
  169.             string str = (string)default;
  170.             Random rnd = new Random();
  171.             str += (char)rnd.Next('a', 'z' + 1);
  172.             return str;
  173.         }
  174.  
  175.         static void Main(string[] args)
  176.         {
  177.             bool cycle = (bool)default;
  178.             Console.WriteLine("введите чесло энн");
  179.             int n = NumberReader();
  180.             string str = RandomString(n);
  181.             StrCharArrGenerator(str, out char[] chArr);
  182.             while (!cycle)
  183.             {
  184.                 ConsoleMenu(out int lilnig);
  185.                 switch (lilnig)
  186.                 {
  187.                     case 1:
  188.                         CommonCharFinder(chArr);
  189.                         break;
  190.                     case 2:
  191.                         CodeCharArrGenerator(chArr, RangedNumberReader (0, 27));
  192.                         break;
  193.                     case 3:
  194.                         RangedCharArrGenerator(CharReader(), CharReader(), chArr);
  195.                         break;
  196.                     case 4:
  197.                         StumbleCounter(chArr);
  198.                         break;
  199.                 }
  200.             }
  201.         }
  202.     }
  203. }
Advertisement
Add Comment
Please, Sign In to add comment