fork download
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8.  
  9.  
  10. int main()
  11. {
  12. const int CountNouns = 3; //Число существительных (дерево, бумага, самолёт)
  13. const int CountAdject = 3; //Число прилагательных (красный, зелёный, красивый)
  14. const int CountAct = 2; //Число глаголов (стоит, летит)
  15. const int CountSKL = 6; //Число склонений (в русском 6)
  16. const int CountTime = 3; //Число времён для глагола (настоящее, будущее, прошлое)
  17.  
  18.  
  19.  
  20. // Именительный, Родительный, Дательный, Винительный, Творительный, Предложный, Род (ср,ж,м)
  21. string Nouns[CountNouns][CountSKL + 1] = {
  22. {"дерево", "дерева", "дереву", "дерева", "деревом", "дереве", "0"},
  23. {"бумага", "бумаги", "бумаге", "бумаги", "бумагой", "бумаге", "1"},
  24. {"самолёт", "самолёта", "самолёту", "самолёта", "самолётом", "самолёте", "2"}
  25. };
  26.  
  27. string Adject[CountAdject][CountNouns][CountSKL] = {
  28. {
  29. {"Красное", "У красного", "К красному", "У красного", "Красным", "На красном"}, //(0,0,0),(0,0,1),(0,0,6)
  30. {"Красная", "У красной", "К красной", "У красной", "Красной", "На красной"}, //(0,1,0),(0,1,1),(0,1,6)
  31. {"Красный", "У красного", "К красному", "У красного", "Красным", "На красном"}
  32. },
  33.  
  34. {
  35. {"Зелёное", "У зелёного", "К зелёному", "У зелёного", "Зелёным", "На зелёном"}, //(1,0,0),(1,0,1),(1,0,6)
  36. {"Зелёная", "У зелёной", "К зелёной", "У зелёной", "Зелёной", "На зелёной"}, //(1,1,0),(1,1,1),(1,1,6)
  37. {"Зелёный", "У зелёного", "К зелёному", "У зелёного", "Зелёным", "На зелёном"}
  38. },
  39.  
  40. {
  41. {"Красивое", "У красивого", "К красивому", "У красивого", "Красивым", "На красивом"}, //(1,0,0),(1,0,1),(1,0,6)
  42. {"Красивая", "У красивой", "К красивой", "У красивой", "Красивой", "На красивой"}, //(1,1,0),(1,1,1),(1,1,6)
  43. {"Красивый", "У красивого", "К красивому", "У красивого", "Красивым", "На красивом"}
  44. }
  45.  
  46. };
  47.  
  48.  
  49. // Настоящее, Прошлое, Будущее
  50. string Action[CountAct][3][CountTime] = {
  51. {
  52. {"стоит", "стояло", "встанет"}, //Средний род
  53. {"стоит", "стоялa", "встанет"}, //Женский род
  54. {"стоит", "стоял", "встанет"}, //Мужской род
  55. },
  56.  
  57. {
  58. {"летит", "летело", "полетит"}, //Средний род
  59. {"летит", "летела", "полетит"}, //Женский род
  60. {"летит", "летел", "полетит"}, //Мужской род
  61. }
  62. };
  63. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  64.  
  65. setlocale(LC_ALL,"");
  66. srand(time(0));
  67.  
  68. for (int jj = 0; jj < 100; jj++){
  69.  
  70. //1. Выбор существительного
  71. int Noun_word = rand() % CountNouns;
  72. int Noun_case = rand() % CountSKL;
  73.  
  74. //2. Ассоциируем с прилагательным
  75. int Adj_word = rand()%CountAdject;
  76. int Adj_case = Noun_case;
  77.  
  78. int Act_word = rand() % CountAct;
  79. int Act_Case = rand() % CountTime;
  80.  
  81.  
  82.  
  83.  
  84.  
  85. if (Nouns[Noun_word][CountSKL] == "0"){ //Если средний род
  86. cout << Adject[Adj_word][0][Adj_case] << ' ' << Nouns[Noun_word][Noun_case] << ' ' << Action[Act_word][0][Act_Case];
  87. }
  88. else if (Nouns[Noun_word][CountSKL] == "1"){ //Если женский род
  89. cout << Adject[Adj_word][1][Adj_case] << ' ' << Nouns[Noun_word][Noun_case] << ' ' << Action[Act_word][1][Act_Case];
  90. }
  91. else if (Nouns[Noun_word][CountSKL] == "2"){ //Если мужской род
  92. cout << Adject[Adj_word][2][Adj_case] << ' ' << Nouns[Noun_word][Noun_case] << ' ' << Action[Act_word][2][Act_Case];
  93. }
  94. cout << '\n';
  95.  
  96. }
  97.  
  98.  
  99. }
  100.  
Success #stdin #stdout 0s 3420KB
stdin
Standard input is empty
stdout
У красивой бумаги летела
На красивой бумаге полетит
На красном самолёте стоит
К красной бумаге встанет
На красной бумаге встанет
Красным деревом встанет
К красивому самолёту стоит
У красивой бумаги стоит
У красной бумаги летит
Красное дерево встанет
У зелёного дерева летит
У красивого дерева стояло
У зелёного самолёта стоял
К зелёной бумаге встанет
К красному самолёту стоял
Красный самолёт стоит
К зелёному самолёту полетит
К красному самолёту летел
К красному самолёту полетит
К зелёной бумаге полетит
Зелёной бумагой стоялa
У красной бумаги полетит
К зелёной бумаге стоит
На красивом самолёте встанет
Зелёная бумага встанет
Зелёное дерево летело
Красивой бумагой стоит
На красном самолёте полетит
У зелёного дерева стоит
К красной бумаге стоит
Зелёный самолёт встанет
На красном дереве полетит
Красным самолётом полетит
У зелёной бумаги стоит
К зелёной бумаге полетит
Зелёным самолётом полетит
Красный самолёт летел
У красного дерева стоит
Зелёный самолёт летит
Красивое дерево встанет
У красного дерева летит
К зелёному дереву полетит
Красивой бумагой летела
У красной бумаги летела
У красивого дерева летело
К красивому самолёту полетит
У красного дерева стоит
Красивое дерево полетит
У красной бумаги летит
У зелёного дерева стояло
Красивым деревом стоит
К красной бумаге стоит
У красного дерева стояло
У зелёного дерева летит
К зелёной бумаге стоялa
У красного самолёта стоял
У красивого дерева стояло
Зелёное дерево полетит
К красивой бумаге летит
Зелёный самолёт летит
К красивому самолёту летит
На красном самолёте летел
Красивый самолёт летит
Зелёной бумагой летит
На красном дереве летело
У зелёной бумаги стоялa
У зелёного самолёта встанет
На красивой бумаге стоит
К красному дереву летит
Зелёной бумагой стоялa
Красным самолётом полетит
К красивому самолёту стоит
У красной бумаги стоялa
К красной бумаге встанет
Красивой бумагой встанет
Зелёным самолётом полетит
Зелёным деревом встанет
Зелёным деревом летело
Красивый самолёт летел
У красного дерева стояло
Красный самолёт летел
К зелёному дереву летело
К красному дереву встанет
У зелёного дерева встанет
Красным деревом стоит
У красивой бумаги стоялa
К красивому дереву встанет
На зелёной бумаге летела
Зелёное дерево стоит
Зелёной бумагой стоит
Зелёная бумага стоит
К зелёной бумаге стоялa
На красном самолёте стоял
Красным деревом летит
У красного самолёта встанет
На красной бумаге стоит
Красное дерево полетит
Зелёным самолётом летит
Красивым деревом летело
У красивого дерева летит