kej

2. Информация по N рабочим завода задается строкой следующег

kej
Mar 10th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.71 KB | None | 0 0
  1. //2. Информация по N рабочим завода задается строкой следующего вида: фамилия, средний возраст, специальность, средний оклад. Ввести информацию по рабочим, посчитать средний оклад всех рабочих. Отсортировать рабочих по возрасту.
  2.  
  3. #include <iostream>
  4. #include <fstream>
  5. using namespace std;
  6. struct Point
  7. {
  8.     int num;
  9.     char fam[256];
  10.     int age;
  11.     char spec[256];
  12.     int okl;
  13. };
  14. void input (Point *A,int n)
  15. {
  16.     for (int i=0;i<n;i++)
  17.     {
  18.         cin>>A[i].num >> A[i].fam >>A[i].age>>A[i].spec>>A[i].okl;
  19.     }
  20. }
  21. int AverageOklad (Point* A,int n)
  22. {
  23.     int sum = 0;
  24.     int AveO;
  25.     for (int i=0;i<n;i++)
  26.     {
  27.         sum += A[i].okl;
  28.     }
  29.     AveO = sum/n;
  30.     return AveO;
  31. }
  32. void Sort (Point* A,int n)
  33. {
  34.     Point temp;
  35.     for (int i=0;i<n;i++)
  36.     {
  37.         for (int j= i+1;j<n;j++)
  38.         {
  39.             if(A[i].age < A[j].age)
  40.             {
  41.                 temp = A[i];
  42.                 A[i] = A[j];
  43.                 A[j] = temp;
  44.                
  45.             }
  46.         }
  47.     }
  48. }
  49. void output(Point* A, int n) //вывод структуры
  50. {
  51.     for (int i = 0; i < n; i++)
  52.     {
  53.  
  54.         cout << A[i].num<<" "<< A[i].age << " " << A[i].okl <<" "<<A[i].fam<<" "<<A[i].spec << endl;
  55.     }
  56.     cout<<endl;
  57. }
  58. int main ()
  59. {
  60.     int AverageOkl;
  61.     int n;
  62.     cin>>n;
  63.     Point* P = new Point[n];
  64.     input(P, n);
  65.     cout<<endl;
  66.     AverageOkl = AverageOklad(P, n);
  67.     cout<<"Средний оклад равен: "<<AverageOkl<<endl;
  68.     Sort(P, n);
  69.     output(P, n);
  70.    
  71. }
Add Comment
Please, Sign In to add comment