Определение типа грамматик по регистру букв - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Проблема кода в том, что введенный

заглавными

буквами текст должен определяться как

контекстно-свободный тип

, а текст в котором есть как

прописные так и заглавные

, должен определяться как

контекстно-зависимый тип

 for (i = 0; i < str1.Length; i++)
            {
                if (str1[i] >= 'A' && str1[i] <= 'z')
                {
                    MessageBox.Show("Контекстно-зависимый тип");
                    break;
                }
                else
                    if (str1[i] >= 'A' && str1[i] <= 'Z')
                    {
                        MessageBox.Show("Контекстно-свободный тип");
                        break;
                    }
При компиляции, программа принимает текст "aA" и выводит что это и Контекстно-зависимый тип и Контекстно-свободный тип. Нужно, чтобы при вводе АА он выводил "Контекстно-свободный тип", а если введено Аа, то "Контекстно-зависимый тип"

Решение задачи: «Определение типа грамматик по регистру букв»

textual
Листинг программы
using System;
using System.Linq;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string t1 = "dfgdgfSDFSdfdf";
            string t2 = "SDFSFSDFSFSFDD";
 
            Console.WriteLine(@"Type of t1(""{0}""): {1}", t1, t1.GetContextType());
            Console.WriteLine(@"Type of t2(""{0}""): {1}", t2, t2.GetContextType());
 
            Console.ReadKey();
        }
    }
 
    static class StringExtentions {//методы расширения для строк
 
        public enum ContextType
        {
            Dependent,
            Independent
        };
 
        public static ContextType GetContextType(this string input) { 
        
            return input.All(char.IsUpper) ? ContextType.Independent : ContextType.Dependent; 
       
        }   
    
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы