Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include<iomanip>
  5.  
  6. using namespace std;
  7.  
  8. ifstream in("input.txt");
  9. ofstream out("output.txt");
  10.  
  11. struct mas
  12. {
  13. string fam, name, secname;
  14. int birth, gr[5];
  15. int sum;
  16. void print();
  17. };
  18.  
  19. void mas::print()
  20.  
  21. {
  22. out << setw(12) << left << fam << setw(15) << name << setw(18) << secname;
  23. out << setw(8) << birth;
  24. for (int i = 0; i < 5; i++)
  25. out << setw(3) << gr[i];
  26. out << setw(5) << sum << endl;
  27. }
  28.  
  29. void sort(mas*a, int length)
  30. {
  31. int temp, // временная переменная для хранения значения элемента сортируемого массива
  32. item; // индекс предыдущего элемента
  33. for (int counter = 1; counter < length; counter++)
  34. {
  35. temp = a[counter].sum; // инициализируем временную переменную текущим значением элемента массива
  36. item = counter-1; // запоминаем индекс предыдущего элемента массива
  37. while(item >= 0 && a[item].sum < temp) // пока индекс не равен 0 и предыдущий элемент массива больше текущего
  38. {
  39. swap(a[item+1],a[item]);
  40. item--;
  41. }
  42. }
  43. }
  44.  
  45. int main()
  46.  
  47. {
  48. setlocale(LC_ALL, "rus");
  49. int n = 0, m, i;
  50. mas stud[2000];
  51. if (!in) out << "Файл не найден" << endl;
  52. else
  53. {
  54. in >> m;
  55. while (in.peek() != EOF)
  56. {
  57. in >> stud[n].fam;
  58. in >> stud[n].name;
  59. in >> stud[n].secname;
  60. in >> stud[n].birth;
  61. stud[n].sum = 0;
  62. for (int i = 0; i < 5; i++)
  63. {
  64. in >> stud[n].gr[i];
  65. stud[n].sum = stud[n].sum + stud[n].gr[i];
  66. }
  67. n++;
  68. }
  69. sort(stud, n);
  70. out << m << endl;
  71. for (i = 0; i < n; i++)
  72. stud[i].print();
  73. }
  74. //system("pause");
  75. in.close();
  76. out.close();
  77. return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement