Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- class Program
- {
- static string StringGeneration(int N)
- {
- Random gen = new Random();
- char[] letters = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
- string myString = "";
- for (int i = 0; i < N; i++)
- {
- myString = myString + letters[gen.Next(0, 26)];
- }
- return myString;
- }
- static char MaxElement(char[] letters)
- {
- int[] indexNum = new int[26];
- int max = -1, index = -1;
- for (int i = 0; i < letters.Length; i++)
- {
- indexNum[(int)letters[i] % 97] += 1;
- }
- for (int i = 0; i < indexNum.Length; i++)
- {
- if (indexNum[i] > max)
- {
- max = indexNum[i];
- index = i;
- }
- }
- return (char)(index + 97);
- }
- static char[] KElements(char[] letters, int k)
- {
- string myString = "";
- for (int i = 0; i < letters.Length; i++)
- {
- if (((int)letters[i] - 97) % k == 0)
- {
- myString += letters[i];
- }
- }
- return myString.ToCharArray();
- }
- static int NumberInInterval(char[] letters, char ch1, char ch2)
- {
- int answer = 0;
- for (int i = 0; i < letters.Length; i++)
- {
- if (((int)letters[i] > (int)ch1) & ((int)letters[i] < (int)ch2))
- {
- answer += 1;
- }
- }
- return answer;
- }
- static int[] RateLetters(char[] letters)
- {
- int[] indexNum = new int[26];
- for (int i = 0; i < letters.Length; i++)
- {
- indexNum[(int)letters[i] % 97] += 1;
- }
- return indexNum;
- }
- static void Main()
- {
- Console.WriteLine("Начало программы");
- Console.WriteLine("MaxElement : 1");
- Console.WriteLine("KElements : 2");
- Console.WriteLine("NumberInInterval : 3");
- Console.WriteLine("RateLetters : 4");
- char ch1, ch2;
- int N, k, s;
- do
- {
- Console.WriteLine("Введите значение N:");
- } while (!int.TryParse(Console.ReadLine(), out N) | N < 1);
- string str = StringGeneration(N);
- try
- {
- File.WriteAllText("../../../output.txt", str + "\r\n");
- }
- catch (Exception e)
- {
- Console.WriteLine(e.Message);
- }
- do
- {
- do
- {
- Console.WriteLine("Введите значение s:");
- } while (!int.TryParse(Console.ReadLine(), out s) | s < 1 | s > 4);
- Console.WriteLine(str);
- char[] letters = str.ToCharArray();
- if (s == 1)
- {
- Console.WriteLine(MaxElement(letters));
- File.AppendAllText("../../../output.txt", MaxElement(letters).ToString() + "\r\n");
- }
- else if (s == 2)
- {
- do
- {
- Console.WriteLine("Введите значение k:");
- } while (!int.TryParse(Console.ReadLine(), out k) | k < 0);
- char[] kletters = KElements(letters, k);
- for (int i = 0; i < kletters.Length; i++)
- {
- Console.Write(kletters[i] + " ");
- File.AppendAllText("../../../output.txt", kletters[i].ToString() + " ");
- }
- File.AppendAllText("../../../output.txt", "\r\n");
- Console.WriteLine();
- }
- else if (s == 3)
- {
- do
- {
- Console.WriteLine("Введите значение ch1:");
- } while (!char.TryParse(Console.ReadLine(), out ch1) | (int)ch1 < 97 | (int)ch1 > 122);
- do
- {
- Console.WriteLine("Введите значение ch2:");
- } while (!char.TryParse(Console.ReadLine(), out ch2) | (int)ch2 < 97 | (int)ch2 > 122);
- Console.WriteLine(NumberInInterval(letters, ch1, ch2));
- File.AppendAllText("../../../output.txt", NumberInInterval(letters, ch1, ch2).ToString() + "\r\n");
- }
- else if (s == 4)
- {
- int[] IndexNum = RateLetters(letters);
- for (int i = 0; i < 26; i++)
- {
- if (IndexNum[i] != 0)
- {
- Console.WriteLine((char)(i + 97) + " = " + IndexNum[i]);
- File.AppendAllText("../../../output.txt", ((char)(i + 97)).ToString() + " = " + IndexNum[i].ToString() + "\r\n");
- }
- }
- }
- Console.WriteLine("ДлЯ выхода из программы нажмите Escape");
- } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement