Распределение кода по классам - 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;
        }
    }
}

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


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

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

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