Это то, что я пытаюсь сделать:Создание матрицы
Напишите программу на C#, которая анализирует строку, такую как A = like A = [5 4 1; 3 6 1; 2 3 9], который создает матрицу A из m> = 2 строк и n> = 1 столбцов.
Я знаю, как создать матрицу, введя единичные целые числа за один раз, но я не знаю, как читать ее так: A = [5 4 1; 3 6 1; 2 3 9] и создать из него матрицу. Я ударяю о стену. Я не знаю, как использовать синтаксис таким образом. Мне нужны советы и предложения.
я сделал что-то вроде этого:
string x;
int m;
int n;
Console.WriteLine("Enter two no's seperated by space: ");
x = Console.ReadLine();
m = Convert.ToInt32(x.Split(' ')[0]);
n = Convert.ToInt32(x.Split(' ')[1]);
Console.WriteLine("" + m + " " + n);
, но где бы разобрать вступить в игру?
отредактировал: Я ошибаюсь, что такое синтаксический анализ? это синтаксический анализ string.split?
отредактировал: Я пытаюсь использовать код, который у них есть на msdn: он использует foreach и помещает каждый элемент в другую строку. Как бы я помещал его в матричный формат 3x3?
char[] delimiterChars = { ' ', ',', '.', ':', '\t' ,'[' ,']', ';', '"', 'A', '=' };
string text = "A = [5 4 1; 3 6 1; 2 3 9]";
System.Console.WriteLine("Original text: '{0}'", text);
string[] words = text.Split(delimiterChars);
System.Console.WriteLine("{0} words in text:", words.Length);
foreach (string element in words)
{
System.Console.WriteLine(element);
}
// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
Вы можете начать с чтения о '' string.Split' или Regex' – Eser
я сделал что-то вроде этого: строки х; int m; int n; Console.WriteLine («Введите два ноль, разделенные пробелом:»); x = Console.ReadLine(); m = Convert.ToInt32 (x.Split ('') [0]); n = Convert.ToInt32 (x.Split ('') [1]); Console.WriteLine ("" + m + "" + n); –
Чтобы прояснить вашу путаницу терминологии, синтаксический анализ - это всего лишь процесс принятия строки и преобразования ее в полезный объект. Он не относится к определенному методу или классу (хотя, конечно, существует множество методов и классов разбора, предоставляемых BCL). –