Advertisement
mrfeedoz

Sonya 78 I (10)

Apr 19th, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. //страница 78 часть 1 задача 10
  2. #include <utility> //библиотека отвечающая за swap
  3. #include <fstream>
  4. #include <iostream>
  5. #include <string>
  6. #include<iomanip>//библиотека отвечающая за setw - выравнивание при выводе
  7. using namespace std;
  8.  
  9. ifstream in("in.txt");
  10. ofstream out("out.txt");
  11.  
  12. struct stud
  13. {
  14.     int gr, year, m[5];
  15.     string fam, name, otch;
  16. };
  17.  
  18. void sort(stud *a, int n) //сортировка выбором
  19. {
  20.     for (int i = 0; i < n - 1; ++i)
  21.     {
  22.         for (int j = i + 1; j < n; ++j)
  23.         {
  24.             if (a[j].fam < a[i].fam)
  25.             {
  26.                 swap(a[i], a[j]);
  27.             }
  28.         }
  29.     }
  30. }
  31. int main()
  32. {
  33.     stud a[10];
  34.     int i, gr;
  35.     in>>gr;
  36.  
  37.     for (i = 0; in.peek() != EOF; ++i)//ввод с файла in.txt
  38.     {
  39.         in >> a[i].fam >> a[i].name >> a[i].otch >> a[i].year;
  40.         for (int j = 0; j < 5; ++j)
  41.             in >> a[i].m[j];
  42.     }
  43.     sort(a, i); //сортировка массива
  44.     out <<setw(15)<< gr << endl;
  45.  
  46.     for (int j = 0; j < i; ++j)//вывод в файл out.txt
  47.     {
  48.         out <<setw(15)<< a[j].fam <<setw(15)<< a[j].name << setw(15) << a[j].otch <<setw(6)<< a[j].year;
  49.         for (int k = 0; k < 5; ++k)
  50.             out <<setw(3)<< a[j].m[k];
  51.         out << endl;
  52.     }
  53.     cout << "Done!" << endl;
  54.     system("pause");
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement