Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
  2. std::vector<int> courses;
  3. std::vector<int> boys;
  4. std::vector<int> general_number;
  5. std::vector<int> boys_per_cent;
  6. std::vector<std::string> boys_names;
  7. std::vector<std::string> girls_names;
  8. std::vector<int> boys_names_numbers;
  9. std::vector<int> girls_names_numbers;
  10. std::vector<std::string> groups;
  11. std::vector<int> average_marks;
  12.  
  13. for (int i = 0; i < students.size(); i++) {
  14. int resp = check_course(students[i].course, courses);
  15. if (resp == 0) {
  16. courses.push_back(students[i].course);
  17. }
  18.  
  19. if (students[i].course == 1) {
  20. resp = check_name(students[i].group, groups);
  21. if (resp == 0) {
  22. groups.push_back(students[i].group);
  23. }
  24. int index = get_name_index(students[i].group, groups);
  25. int size = average_marks.size() - 1;
  26. if (size < index) {
  27. average_marks.push_back(0);
  28. }
  29. float sum = 0;
  30. for (int m = 0; m < students[i].marks.size(); m++) {
  31. sum += students[i].marks[m];
  32. }
  33. sum = sum / 5;
  34. average_marks[index] += sum;
  35. }
  36.  
  37. if (students[i].sex == 1) {
  38. resp = check_name(students[i].first_name, boys_names);
  39. if (resp == 0) {
  40. boys_names.push_back(students[i].first_name);
  41. }
  42. int index = get_name_index(students[i].first_name, boys_names);
  43. int size = boys_names_numbers.size() - 1;
  44. if (size < index) {
  45. boys_names_numbers.push_back(0);
  46. }
  47. boys_names_numbers[index]++;
  48. }
  49. else{
  50. resp = check_name(students[i].first_name, girls_names);
  51. if (resp == 0) {
  52. girls_names.push_back(students[i].first_name);
  53. }
  54. int index = get_name_index(students[i].first_name, girls_names);
  55. int size = girls_names_numbers.size() - 1;
  56. if (size < index) {
  57. girls_names_numbers.push_back(0);
  58. }
  59. girls_names_numbers[index]++;
  60. }
  61. std::vector<int>::iterator it = std::find(courses.begin(), courses.end(), students[i].course);
  62. int index = std::distance(courses.begin(), it);
  63. int boys_size = boys.size() - 1;
  64. if (boys_size < index) {
  65. boys.push_back(0);
  66. general_number.push_back(0);
  67. }
  68. if (students[i].sex == 1) {
  69. boys[index]++;
  70.  
  71. }
  72. general_number[index]++;
  73. }
  74. int percent = 0, max_percent_index, max_percent = 0;
  75. for (int i = 0; i < boys.size(); i++) {
  76. percent = boys[i] / general_number[i];
  77. if (max_percent < percent) {
  78. max_percent = percent;
  79. max_percent_index = i;
  80. }
  81. }
  82. std::string names = "";
  83. int max = 0;
  84. if (boys_names_numbers.size() > 0) {
  85. for (int i = 0; i < boys_names_numbers.size(); i++) {
  86. if (boys_names_numbers[max] < boys_names_numbers[i]) {
  87. max = i;
  88. }
  89. }
  90. names += boys_names[max] + " ";
  91. max = 0;
  92. }
  93. if (girls_names_numbers.size() > 0) {
  94. for (int i = 0; i < girls_names_numbers.size(); i++) {
  95. if (girls_names_numbers[max] < girls_names_numbers[i]) {
  96. max = i;
  97. }
  98. }
  99. names += girls_names[max];
  100. }
  101. std::string groups_names = "";
  102. for (int i = 0; i < average_marks.size(); i++) {
  103. int max_pos = 0;
  104. for (int k = 0; k < average_marks.size(); k++) {
  105. if (average_marks[k] > average_marks[max_pos]) {
  106. max_pos = k;
  107. }
  108. }
  109. if (average_marks[max_pos] == -1)
  110. continue;
  111.  
  112. groups_names += groups[max_pos] + ", ";
  113. average_marks[max_pos] = -1;
  114. }
  115. textBox9->Text = System::Convert::ToString(courses[max_percent_index]);
  116. textBox10->Text = marshal_as<String^>(names);
  117. textBox11->Text = marshal_as<String^>(groups_names);
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement