Определение типа грамматик по регистру букв - C#
Формулировка задачи:
Здравствуйте! Проблема кода в том, что введенный При компиляции, программа принимает текст "aA" и выводит что это и Контекстно-зависимый тип и Контекстно-свободный тип.
Нужно, чтобы при вводе АА он выводил "Контекстно-свободный тип", а если введено Аа, то "Контекстно-зависимый тип"
заглавными
буквами текст должен определяться какконтекстно-свободный тип
, а текст в котором есть какпрописные так и заглавные
, должен определяться какконтекстно-зависимый тип
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;
}Решение задачи: «Определение типа грамматик по регистру букв»
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;
}
}
}