Advertisement
mlmisha

8.1.1

Apr 4th, 2020
557
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.64 KB | None | 0 0
  1. using System;
  2. namespace lab
  3. {
  4.     struct p
  5.     {
  6.         public char b;
  7.         public int n;
  8.         public double pr;
  9.         public p(char bv, int m, double p)
  10.         {
  11.             b = bv;
  12.             n = m;
  13.             pr = p;
  14.         }
  15.     }
  16.     class MainClass
  17.     {
  18.         public static void Main(string[] args)
  19.         {
  20.             Console.WriteLine("При вводе текста запрещается использование любых специальных символов, кроме: , . () : - — (тире) ?! «» ' ");
  21.             Console.WriteLine("В противном случае программа неправильно выполнит свой алгоритм без выдачи сообщения об ошибке");
  22.             Console.WriteLine("Введите предложение для анализа");
  23.             string c = Console.ReadLine();
  24.             string v = c.Replace(" ", "");
  25.             c = v.Replace(",", "");
  26.             v = c.Replace("-", "");
  27.             c = v.Replace("—", "");
  28.             v = c.Replace("'", "");
  29.             c = v.Replace(".", "");
  30.             v = c.Replace("!", "");
  31.             c = v.Replace("?", "");
  32.             v = c.Replace(":", "");
  33.             c = v.Replace ("«", "");
  34.             v = c.Replace("»", "");
  35.             c = v.Replace("(", "");
  36.             v = c.Replace(")", "");
  37.             int l = v.Length;
  38.             Console.WriteLine(v);
  39.             Console.WriteLine("Всего букв: {0}",l);
  40.             int r = 0;
  41.             int j = 0;
  42.             p[] m = new p[l];
  43.             p[] h = new p[l];
  44.             m[r].b = Char.ToLower(v[0]);
  45.             m[r].n = 1;
  46.             for (int i = 1; i < l; i++)
  47.             {
  48.  
  49.                 if (i < l - 1)
  50.                 {
  51.                     if (v[i] == m[r].b || Char.ToLower(v[i])==m[r].b)
  52.                     {
  53.                         while (v[i] == m[r].b || Char.ToLower(v[i])==m[r].b)
  54.                         {
  55.                             m[r].n++;
  56.                             if (i == l - 1)
  57.                             {
  58.                                 break;
  59.                             }
  60.                             else
  61.                             {
  62.                                 i++;
  63.                             }
  64.                         }
  65.                     }
  66.                     if (v[i] != m[r].b || Char.ToLower(v[i])!= m[r].b)
  67.                     {
  68.                         for (int t = 0; t <= r; t++)
  69.                         {
  70.                             if (v[i] == m[t].b || Char.ToLower(v[i])==m[r].b)
  71.                             {
  72.                                 m[t].n++;
  73.                                 j = 1;
  74.                                 break;
  75.                             }
  76.                         }
  77.                         if (j != 1)
  78.                         {
  79.                             r++;
  80.                             m[r].b = Char.ToLower(v[i]);
  81.                             m[r].n = 1;
  82.                         }
  83.                         j = 0;
  84.                     }
  85.                 }
  86.                 else
  87.                 {
  88.                     for (int t = 0; t < r; t++)
  89.                     {
  90.                         if (v[i] == m[t].b || Char.ToLower(v[i])==m[t].b)
  91.                         {
  92.                             m[t].n++;
  93.                             j = 2;
  94.                             break;
  95.                         }
  96.                     }
  97.                     if (j != 2)
  98.                     {
  99.                         r++;
  100.                         m[r].b = Char.ToLower(v[i]);
  101.                         m[r].n = 1;
  102.                     }
  103.                 }
  104.             }
  105.             for (int i = 0; i<=r; i++)
  106.             {
  107.                 m[i].pr = (m[i].n * 100) / l;
  108.             }
  109.             Console.WriteLine("Вот это получилось: ");
  110.             for (int i = 0; i <= r; i++)
  111.             {
  112.                 Console.WriteLine("{0}. {1} {2} {3:f2}%",i+1, m[i].b, m[i].n, m[i].pr);
  113.             }
  114.         }
  115.     }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement