Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
- std::vector<int> courses;
- std::vector<int> boys;
- std::vector<int> general_number;
- std::vector<int> boys_per_cent;
- std::vector<std::string> boys_names;
- std::vector<std::string> girls_names;
- std::vector<int> boys_names_numbers;
- std::vector<int> girls_names_numbers;
- std::vector<std::string> groups;
- std::vector<int> average_marks;
- for (int i = 0; i < students.size(); i++) {
- int resp = check_course(students[i].course, courses);
- if (resp == 0) {
- courses.push_back(students[i].course);
- }
- if (students[i].course == 1) {
- resp = check_name(students[i].group, groups);
- if (resp == 0) {
- groups.push_back(students[i].group);
- }
- int index = get_name_index(students[i].group, groups);
- int size = average_marks.size() - 1;
- if (size < index) {
- average_marks.push_back(0);
- }
- float sum = 0;
- for (int m = 0; m < students[i].marks.size(); m++) {
- sum += students[i].marks[m];
- }
- sum = sum / 5;
- average_marks[index] += sum;
- }
- if (students[i].sex == 1) {
- resp = check_name(students[i].first_name, boys_names);
- if (resp == 0) {
- boys_names.push_back(students[i].first_name);
- }
- int index = get_name_index(students[i].first_name, boys_names);
- int size = boys_names_numbers.size() - 1;
- if (size < index) {
- boys_names_numbers.push_back(0);
- }
- boys_names_numbers[index]++;
- }
- else{
- resp = check_name(students[i].first_name, girls_names);
- if (resp == 0) {
- girls_names.push_back(students[i].first_name);
- }
- int index = get_name_index(students[i].first_name, girls_names);
- int size = girls_names_numbers.size() - 1;
- if (size < index) {
- girls_names_numbers.push_back(0);
- }
- girls_names_numbers[index]++;
- }
- std::vector<int>::iterator it = std::find(courses.begin(), courses.end(), students[i].course);
- int index = std::distance(courses.begin(), it);
- int boys_size = boys.size() - 1;
- if (boys_size < index) {
- boys.push_back(0);
- general_number.push_back(0);
- }
- if (students[i].sex == 1) {
- boys[index]++;
- }
- general_number[index]++;
- }
- int percent = 0, max_percent_index, max_percent = 0;
- for (int i = 0; i < boys.size(); i++) {
- percent = boys[i] / general_number[i];
- if (max_percent < percent) {
- max_percent = percent;
- max_percent_index = i;
- }
- }
- std::string names = "";
- int max = 0;
- if (boys_names_numbers.size() > 0) {
- for (int i = 0; i < boys_names_numbers.size(); i++) {
- if (boys_names_numbers[max] < boys_names_numbers[i]) {
- max = i;
- }
- }
- names += boys_names[max] + " ";
- max = 0;
- }
- if (girls_names_numbers.size() > 0) {
- for (int i = 0; i < girls_names_numbers.size(); i++) {
- if (girls_names_numbers[max] < girls_names_numbers[i]) {
- max = i;
- }
- }
- names += girls_names[max];
- }
- std::string groups_names = "";
- for (int i = 0; i < average_marks.size(); i++) {
- int max_pos = 0;
- for (int k = 0; k < average_marks.size(); k++) {
- if (average_marks[k] > average_marks[max_pos]) {
- max_pos = k;
- }
- }
- if (average_marks[max_pos] == -1)
- continue;
- groups_names += groups[max_pos] + ", ";
- average_marks[max_pos] = -1;
- }
- textBox9->Text = System::Convert::ToString(courses[max_percent_index]);
- textBox10->Text = marshal_as<String^>(names);
- textBox11->Text = marshal_as<String^>(groups_names);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement