Advertisement
myloyo

сорт 1

Apr 9th, 2023 (edited)
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6. ifstream in("input.txt");
  7. ofstream out("output.txt");
  8. struct student {
  9.     string famil, imya, otch;
  10.     int chisl, mec, year;
  11.     int oc1, oc2, oc3, oc4, oc5;
  12.     int summa();
  13. };
  14. int student::summa() {
  15.     return oc1 + oc2 + oc3 + oc4 + oc5;
  16. }
  17. /*void sort_puz(student* y, int n) {
  18.     student temp;
  19.     int i, j;
  20.     for (i = 0; i < n - 1; i++) {
  21.         for (j = n - 1; j > i; j--) {
  22.             if (y[j].summa() > y[j - 1].summa()) {
  23.                 temp = y[j];
  24.                 y[j] = y[j - 1];
  25.                 y[j - 1] = temp;
  26.             }
  27.             if ((y[j].summa() == y[j - 1].summa()) && (y[j].famil < y[j - 1].famil)) {
  28.                 temp = y[j];
  29.                 y[j] = y[j - 1];
  30.                 y[j - 1] = temp;
  31.             }
  32.            
  33.         }
  34.     }
  35. }
  36. */
  37.  
  38. /*void sort_vib(student* y, int n) {
  39.     student temp;
  40.     for (int i = 0; i < n - 1; i++) {
  41.         int lowindex = i;
  42.         int lowkey = y[i].summa();
  43.         for (int j = i; j < n; j++) {
  44.             if (y[j].summa() > lowkey) {
  45.                 lowkey = y[j].summa();
  46.                 lowindex = j;
  47.             }
  48.         }
  49.         temp = y[i];
  50.         y[i] = y[lowindex];
  51.         y[lowindex] = temp;
  52.     }
  53. }
  54. */
  55.  
  56. void sort_vst(student* y, int n) {
  57.     student temp;
  58.     for (int i = 1; i < n; i++) {
  59.         int j = i;
  60.         while (j > 0 and y[j].summa() > y[j-1].summa()) {
  61.             temp = y[j];
  62.             y[j] = y[j-1];
  63.             y[j-1] = temp;
  64.             j--;
  65.         }
  66.     }
  67. }
  68. int main() {
  69.     int n, k;
  70.     in >> n >> k;
  71.     student* t = new student[k];
  72.     for (int i = 0; i < k; i++) {
  73.         in >> t[i].famil >> t[i].imya >> t[i].otch >> t[i].chisl >> t[i].mec >> t[i].year >> t[i].oc1 >> t[i].oc2 >> t[i].oc3 >> t[i].oc4 >> t[i].oc5;
  74.     }
  75.     //sort_puz(t, k);
  76.     //sort_vib(t, k);
  77.     sort_vst(t, k);
  78.     for (int i = 0; i < k; i++) {
  79.         out << t[i].summa() << endl;
  80.     }
  81. }
  82. // 141 7
  83. Иванов Иван Иванович 10 2 2007 3 4 5 4 5
  84. Петров Петр Петрович 10 6 2007 2 4 3 3 3
  85. кто-то кто-то кто-то 24 7 2004 4 4 4 5 5
  86. я я я 15 9 2003 5 5 5 5 5
  87. Ложкова Александра Сергеевна 4 4 2005 3 4 3 5 3
  88. Хусаинова Дарья Алексеевна 22 12 2005 5 5 5 5 5
  89. Парамонова Мария Дмитриевна 6 4 2008 4 4 4 5 5
  90.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement