Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <windows.h>
  4. using namespace std;
  5.  
  6. struct STUDENT { // Структура студент
  7. string FIO;// Фамилия
  8. int group;// группа
  9. int marks[5];// оценки
  10. int sum;
  11. };
  12.  
  13. STUDENT Copy(STUDENT st) { // копирование для сортировки
  14. STUDENT newSt;
  15. newSt.FIO = st.FIO;
  16. for (int i = 0; i < 5; i++) {
  17. newSt.marks[i] = st.marks[i];
  18. }
  19. newSt.group = st.group;
  20. return newSt;
  21. }
  22.  
  23. void Input(STUDENT &st) {//ввод студентов
  24.  
  25. cin >> st.FIO;
  26. cin >> st.group;
  27. for (int i = 0; i < 5; i++) {
  28. cin >> st.marks[i];
  29. }
  30. for (int i = 0; i < 5; i++) {
  31. st.sum += st.marks[i];
  32. }
  33. }
  34.  
  35. void Sort(STUDENT studs[], int len) { // сортировка
  36.  
  37. for (int i = 0; i < len; i++) {
  38. for (int j = 0; j < len-1; j++) {
  39. if (studs[j].sum > studs[j+1].sum) {
  40. STUDENT buf = Copy(studs[j]);
  41. studs[j] = studs[j+1];
  42. studs[j+1] = buf;
  43. }
  44. }
  45. }
  46. }
  47.  
  48.  
  49. bool Good(STUDENT st) { // поиск хорошистов и отличников
  50. int count = 0;
  51. for (int i = 0; i < 5; i++)
  52. if (st.marks[i] == 4 || st.marks[i] == 5)
  53. count++;
  54. if (count == 5)
  55. return true; // если количество "4" и "5" равняется общему количеству оценок (5) то это хорошист
  56. return false;
  57. }
  58.  
  59. void Output(STUDENT &st) { //вывод
  60. cout << st.FIO << " " << st.group << " ";
  61. for (int j = 0; j < 5; j++) {
  62. cout << st.marks[j] << " ";
  63. }
  64. cout << "\n";
  65. }
  66.  
  67. void Output_Good(STUDENT &st) { //вывод хорошистов
  68. cout << st.FIO << " " << st.group;
  69. cout << "\n";
  70. }
  71.  
  72. int main(int argc, CHAR* argv[]) {
  73. const int len = 10;
  74.  
  75. STUDENT students[len];
  76.  
  77. for (int i = 0; i < len; i++) {
  78. Input(students[i]);
  79. }
  80.  
  81. Sort(students, len);
  82.  
  83. for (int i = 0; i < len; i++) {
  84. Output(students[i]);
  85. }
  86.  
  87. int GoodCount = 0;
  88.  
  89. for (int i = 0; i < len; i++) {
  90. if (Good(students[i])) {
  91. Output_Good(students[i]);
  92. GoodCount++;
  93. }
  94. }
  95.  
  96. if (GoodCount == 0) {
  97. cout << "No\n";
  98. }
  99. system("pause");
  100. return 0;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement