-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
41 lines (33 loc) · 872 Bytes
/
main.cpp
File metadata and controls
41 lines (33 loc) · 872 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <sstream>
using namespace std;
Student make_student(string line) {
string name, group;
size_t pos = line.find(";");
name = line.substr(0, pos);
group = line.substr(pos + 1);
return { name, group };
}
bool is_upper(Student left, Student right) {
if (left.group == right.group) {
return left.name < right.name;
}
else {
return left.group < right.group;
}
}
void print(const vector<Student>& students) {
if (students.empty()) {
cout << "Empty list!";
}
else {
string group = students[0].group;
cout << group << endl;
for (const Student& student : students) {
if (student.group != group) {
group = student.group;
cout << group << endl;
}
cout << "- " << student.name << endl;
}
}
}