Распределение кода по классам - C#
Формулировка задачи:
Всем привет. Недавно я закончил работу над написанием кода программы генерирования фраз(предложений), содержащих в себе теги: существительное, глагол, прилагательное, также для их составляющего были добавлены "функции" (число склонений, число для времен глаголов). И нужно распределить код по классам, где отдельно будут существительные, глаголы и прилагательные, учитывая число склонений и число для времен глаголов.
Сам код:
static int Main(string[] args) { int CountNouns = 3; //Число существительных int CountAdject = 3; //Число прилагательных int CountAct = 2; //Число глаголов int CountSKL = 6; //Число склонений int CountTime = 3; //Число времён для глагола (настоящее, будущее, прошлое) // Именительный, Родительный, Дательный, Винительный, Творительный, Предложный, Род (ср,ж,м) string[][] Nouns = new string[][] { new string[]{"дерево", "дерева", "дереву", "дерева", "деревом", "дереве", "0"}, new string[]{"бумага", "бумаги", "бумаге", "бумаги", "бумагой", "бумаге", "1"}, new string[]{"самолёт", "самолёта", "самолёту", "самолёта", "самолётом", "самолёте", "2"} }; string[][][] Adject = new string[][][] { new string[][] { new string[]{"Красное", "У красного", "К красному", "У красного", "Красным", "На красном"}, //(0,0,0),(0,0,1),(0,0,6) new string[]{"Красная", "У красной", "К красной", "У красной", "Красной", "На красной"}, //(0,1,0),(0,1,1),(0,1,6) new string[]{"Красный", "У красного", "К красному", "У красного", "Красным", "На красном"} }, new string[][] { new string[]{"Зелёное", "У зелёного", "К зелёному", "У зелёного", "Зелёным", "На зелёном"}, //(1,0,0),(1,0,1),(1,0,6) new string[]{"Зелёная", "У зелёной", "К зелёной", "У зелёной", "Зелёной", "На зелёной"}, //(1,1,0),(1,1,1),(1,1,6) new string[]{"Зелёный", "У зелёного", "К зелёному", "У зелёного", "Зелёным", "На зелёном"} }, new string[][] { new string[]{"Красивое", "У красивого", "К красивому", "У красивого", "Красивым", "На красивом"}, //(1,0,0),(1,0,1),(1,0,6) new string[]{"Красивая", "У красивой", "К красивой", "У красивой", "Красивой", "На красивой"}, //(1,1,0),(1,1,1),(1,1,6) new string[]{"Красивый", "У красивого", "К красивому", "У красивого", "Красивым", "На красивом"} } }; // Настоящее, Прошлое, Будущее string[][][] Action = new string[][][] { new string[][] { new string[]{"стоит", "стояло", "встанет"}, //Средний род new string[]{"стоит", "стоялa", "встанет"}, //Женский род new string[]{"стоит", "стоял", "встанет"}, //Мужской род }, new string[][] { new string[]{"летит", "летело", "полетит"}, //Средний род new string[]{"летит", "летела", "полетит"}, //Женский род new string[]{"летит", "летел", "полетит"}, //Мужской род } }; // ==================================================== Random rand = new Random(); for (int jj = 0; jj < 100; jj++) { //1. Выбор существительного int Noun_word = rand.Next(CountNouns); int Noun_case = rand.Next(CountSKL); //2. Ассоциируем с прилагательным int Adj_word = rand.Next(CountAdject); int Adj_case = Noun_case; int Act_word = rand.Next(CountAct); int Act_Case = rand.Next(CountTime); //Если средний род if (Nouns[Noun_word][CountSKL] == "0") Console.Write("{0} {1} {2}", Adject[Adj_word][0][Adj_case], Nouns[Noun_word][Noun_case], Action[Act_word][0][Act_Case]); //Если женский род else if (Nouns[Noun_word][CountSKL] == "1") Console.Write("{0} {1} {2}", Adject[Adj_word][1][Adj_case], Nouns[Noun_word][Noun_case], Action[Act_word][1][Act_Case]); //Если мужской род else if (Nouns[Noun_word][CountSKL] == "2") Console.Write("{0} {1} {2}", Adject[Adj_word][2][Adj_case], Nouns[Noun_word][Noun_case], Action[Act_word][2][Act_Case]); Console.ReadKey(); } return 0; }
Буду очень благодарен за Вашу помощь!
Hares - большое спасибо!!!
Решение задачи: «Распределение кода по классам»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Phrase_generator_new { class Program { static int Main(string[] args) { int CountNouns = 3; //Число существительных int CountAdject = 3; //Число прилагательных int CountAct = 2; //Число глаголов int CountSKL = 6; //Число склонений int CountTime = 3; //Число времён для глагола (настоящее, будущее, прошлое) // Именительный, Родительный, Дательный, Винительный, Творительный, Предложный, Род (ср,ж,м) string[][] Nouns = new string[][] { new string[]{"дерево", "дерева", "дереву", "дерева", "деревом", "дереве", "0"}, new string[]{"бумага", "бумаги", "бумаге", "бумаги", "бумагой", "бумаге", "1"}, new string[]{"самолёт", "самолёта", "самолёту", "самолёта", "самолётом", "самолёте", "2"} }; string[][][] Adject = new string[][][] { new string[][] { new string[]{"Красное", "У красного", "К красному", "У красного", "Красным", "На красном"}, //(0,0,0),(0,0,1),(0,0,6) new string[]{"Красная", "У красной", "К красной", "У красной", "Красной", "На красной"}, //(0,1,0),(0,1,1),(0,1,6) new string[]{"Красный", "У красного", "К красному", "У красного", "Красным", "На красном"} }, new string[][] { new string[]{"Зелёное", "У зелёного", "К зелёному", "У зелёного", "Зелёным", "На зелёном"}, //(1,0,0),(1,0,1),(1,0,6) new string[]{"Зелёная", "У зелёной", "К зелёной", "У зелёной", "Зелёной", "На зелёной"}, //(1,1,0),(1,1,1),(1,1,6) new string[]{"Зелёный", "У зелёного", "К зелёному", "У зелёного", "Зелёным", "На зелёном"} }, new string[][] { new string[]{"Красивое", "У красивого", "К красивому", "У красивого", "Красивым", "На красивом"}, //(1,0,0),(1,0,1),(1,0,6) new string[]{"Красивая", "У красивой", "К красивой", "У красивой", "Красивой", "На красивой"}, //(1,1,0),(1,1,1),(1,1,6) new string[]{"Красивый", "У красивого", "К красивому", "У красивого", "Красивым", "На красивом"} } }; // Настоящее, Прошлое, Будущее string[][][] Action = new string[][][] { new string[][] { new string[]{"стоит", "стояло", "встанет"}, //Средний род new string[]{"стоит", "стоялa", "встанет"}, //Женский род new string[]{"стоит", "стоял", "встанет"}, //Мужской род }, new string[][] { new string[]{"летит", "летело", "полетит"}, //Средний род new string[]{"летит", "летела", "полетит"}, //Женский род new string[]{"летит", "летел", "полетит"}, //Мужской род } }; // ==================================================== Random rand = new Random(); for (int jj = 0; jj < 100; jj++) { //1. Выбор существительного int Noun_word = rand.Next(CountNouns); int Noun_case = rand.Next(CountSKL); //2. Ассоциируем с прилагательным int Adj_word = rand.Next(CountAdject); int Adj_case = Noun_case; int Act_word = rand.Next(CountAct); int Act_Case = rand.Next(CountTime); //Если средний род if (Nouns[Noun_word][CountSKL] == "0") Console.Write("{0} {1} {2}", Adject[Adj_word][0][Adj_case], Nouns[Noun_word][Noun_case], Action[Act_word][0][Act_Case]); //Если женский род else if (Nouns[Noun_word][CountSKL] == "1") Console.Write("{0} {1} {2}", Adject[Adj_word][1][Adj_case], Nouns[Noun_word][Noun_case], Action[Act_word][1][Act_Case]); //Если мужской род else if (Nouns[Noun_word][CountSKL] == "2") Console.Write("{0} {1} {2}", Adject[Adj_word][2][Adj_case], Nouns[Noun_word][Noun_case], Action[Act_word][2][Act_Case]); //Console.WriteLine(); Console.ReadKey(); } return 0; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д