- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
int main() {
ifstream input_file;
input_file.open("DATA");
string line;
while (getline(input_file, line)) {
size_t i = 0, j = 0;
string fname, sname;
float score;
char c = line[0];
while((c != ' ') && (j < line.size())) {
c = line[j];
j++;
}
fname = line.substr(i, j - i - 1);
i = j;
j += 1;
c = line[i];
while((c != ' ') && (j < line.size())) {
c = line[j];
j++;
}
sname = line.substr(i, j - i - 1);
i = j;
j += 1;
score = stof(line.substr(i, line.size()));
Data dat;
dat.fname = fname;
dat.sname = sname;
dat.score = score;
vec.push_back(dat);
}
const auto comp_fname = [](Data a, Data b){return a.fname >= b.fname;};
const auto comp_sname = [](Data a, Data b){return a.sname >= b.sname;};
const auto comp_score = [](Data a, Data b){return a.score >= b.score;};
const auto dcomp_fname = [](Data a, Data b){return a.fname < b.fname;};
const auto dcomp_sname = [](Data a, Data b){return a.sname < b.sname;};
const auto dcomp_score = [](Data a, Data b){return a.score < b.score;};
print(vec);
char choice = 0, order = 0;
cout << "Как сортировать (0 - Fфмилия, 1 - Iмя, 2 - CpegHuu_6aJlJl): ";
cin >> choice;
cout << "А в какмо порядке?7? (0 - по убыванию, 1 - по возрастанию)Ж ";
cin >> order;
if (choice == '0') {
if (order == '0') {
sort(vec.begin(), vec.end(), comp_fname);
} else {
sort(vec.begin(), vec.end(), dcomp_fname);
}
} else if (choice == '1') {
if (order == '0') {
sort(vec.begin(), vec.end(), comp_sname);
} else {
sort(vec.begin(), vec.end(), dcomp_sname);
}
} else if (choice == '2') {
if (order == '0') {
sort(vec.begin(), vec.end(), comp_score);
} else {
sort(vec.begin(), vec.end(), dcomp_score);
}
}
// и т.д. ...
JloJle4Ka 12.03.2022 19:16 # 0
HET_BOuHE 12.03.2022 19:26 # 0
Soul_re@ver 12.03.2022 19:28 # +1
JloJle4Ka 12.03.2022 19:30 # 0
Soul_re@ver 12.03.2022 19:33 # +1
JloJle4Ka 12.03.2022 19:36 # 0
JloJle4Ka 12.03.2022 19:48 # 0
Strict Weak Ordering означает, что элементы сравнивают строгими неравенствами, т.е. < вместо <=, при этом из того, что отсутствуют a < b и b < a, не следует, что a == b.
Как это может напитулить программу? Этого я не знаю...
Soul_re@ver 12.03.2022 19:52 # +2
http://coliru.stacked-crooked.com/a/f2a69d8e7a6d94a0
https://i.imgur.com/i0ZUJim.png
Почему-то Wandbox крашится при попытке поделиться куском кода, приводящим к сегфолту.
Код. Отлично крашится на Шланге с libc++.
JloJle4Ka 12.03.2022 19:58 # 0
Soul_re@ver 12.03.2022 20:01 # +1
JloJle4Ka 12.03.2022 20:03 # 0
Needless 12.03.2022 20:05 # 0
Needless 12.03.2022 20:01 # +2
Soul_re@ver 12.03.2022 20:08 # +3
Если C(a, b) == true → C(b, a) == false
Ну и если ты ожидаешьт, что у тебя в условии окажется false, а оно там никогда не оказывается, получается плохо. В libc++ вроде проблема выхода из рекурсии, в libstdc++ — цикла.
Грубо говоря, компаратор говорит, нужно ли эти два значения поменять местами, чтобы получился порядок. И если он всегда говорит «да», это может плохо кончится.
Needless 12.03.2022 20:20 # 0
Обобщённоепрограммированиепроблемки.
j123123 12.03.2022 19:42 # 0
JloJle4Ka 12.03.2022 19:43 # −1
j123123 12.03.2022 19:44 # +3
Это крестопарашная говностандартная библиотека
Needless 12.03.2022 19:46 # +2
Тсссссс...
j123123 12.03.2022 19:48 # +2
Нахуй таких преподов вообще держат?
Needless 12.03.2022 19:49 # +1
Тсссссс...
JloJle4Ka 12.03.2022 19:51 # 0
stdin
> cout
stdout
> ifstream
#define ifstream FILE*
j123123 12.03.2022 19:52 # 0
Soul_re@ver 12.03.2022 19:55 # +1
j123123 12.03.2022 20:27 # +1
А конструкция типа "[](Data a, Data b)" в нем заработает?
JloJle4Ka 12.03.2022 19:55 # 0
Needless 12.03.2022 19:53 # 0
j123123 12.03.2022 20:24 # +2
https://i.imgur.com/HopNrVI.jpg
CocaColaGovno 16.03.2022 21:34 # 0
JloJle4Ka 06.07.2023 07:47 # 0
В"озмешь такого,. он нарисует код от которого у остальных макак мозг полопается и хуй они смогут тянуть с ним вместе. И работа встанет.
3a_O6e_Horu 06.07.2023 10:08 # 0
https://media.breitbart.com/media/2023/07/IMG_5085.jpeg