AmidamaruZXC

Untitled

Jan 22nd, 2020
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.21 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 Task
  8. {
  9.     class Program
  10.     {
  11.         delegate void DelegateForString(int k, string s);
  12.  
  13.         public void GetEl(int k, string s)
  14.         {
  15.             if (k >= 0 && k < s.Length)
  16.                 Console.WriteLine(s[k]);
  17.             else
  18.                 Console.WriteLine(0);
  19.         }
  20.  
  21.         public static void PrintSubstring(int k, string s)
  22.         {
  23.             if (k > 0 && k <= s.Length)
  24.                 Console.WriteLine(s.Substring(0, k));
  25.             if (k > s.Length)
  26.                 Console.WriteLine(s);
  27.         }
  28.  
  29.         private static Random rand = new Random();
  30.  
  31.         public static bool isEnglish(string s)
  32.         {
  33.             for (int i = 0; i < s.Length; ++i)
  34.             {
  35.                 if (!char.IsLetter(s[i]))            
  36.                     return false;            
  37.             }
  38.             return true;
  39.         }
  40.  
  41.         static void Main(string[] args)
  42.         {
  43.             do
  44.             {
  45.                 int k = rand.Next(1, 8 + 1);
  46.                 Console.WriteLine($"k = {k}");
  47.                 Console.Write("Введите строку, состоящую из английских букв: ");
  48.                 string s = Console.ReadLine();
  49.                 while(!isEnglish(s))
  50.                 {
  51.                     Console.WriteLine("Строка содержит не только английские буквы!");
  52.                     Console.Write("Введите строку, состоящую из английских букв: ");
  53.                     s = Console.ReadLine();
  54.                 }
  55.                 DelegateForString output = PrintSubstring;
  56.                 Program program = new Program();
  57.                 output += program.GetEl;
  58.                 output += PrintSubstring;
  59.                 output(k, s);
  60.                 Console.WriteLine("Для завершения работы программы нажмите Esc...\n" +
  61.                     "Для продолжения любую другую клавишу...");
  62.             } while (Console.ReadKey().Key != ConsoleKey.Escape);
  63.         }
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment