gashink_t

упорядочить сведения о мужчинах с рабочим стажем алфавиту

Feb 11th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.94 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define N 10
  4. #define stinf struct inf
  5.  
  6. stinf{
  7.       char *fio, *pol;
  8.       int r,p;};
  9.  
  10. int  vivodt(int n, stinf a[])// функция вывода таблицы
  11.      {int i;
  12.      printf("|№  |     Фамилия И.О     | Пол | Год Рождения | Год поступления на работу |\n");
  13.      printf("|___|_____________________|_____|______________|___________________________|\n");
  14.      for (i=0; i<n;i++){
  15.           printf("|%3d|%21s|%5s|%14d|%27d|\n",i+1, a[i].fio, a[i].pol, a[i].r, a[i].p);
  16.           printf("|___|_____________________|_____|______________|___________________________|\n");
  17. }
  18. return 0;}
  19.  
  20. int sor(int n, stinf a[])//сортировка в порядке убывания возраста
  21.      {stinf x;
  22.       int i, j;
  23.       for (i=0;i<n;i++)
  24.            for(j=n-1;j>=i;j--)
  25.                if (a[j].r < a[j-1].r) {
  26.                                x=a[j];
  27.                                a[j]=a[j-1];
  28.                                a[j-1]=x;}
  29. return 0;
  30. }
  31. int i,j, k;
  32. int main(){
  33.     stinf rab[N]={"Asimov U.P.","B", 1940, 1957,
  34.                 "Ivanov I.N.", "B", 1980, 1999,
  35.                 "Mahova O.I.","G", 1960, 1980,
  36.                 "Ogarev K.M.", "B", 1971, 1990,
  37.                 "Egorova P.K.", "G", 1993, 2011,
  38.                 "Golikova O.I.", "G", 1972, 1990,
  39.                 "Sotnicov T.C.", "B", 1943, 1960,
  40.                 "Komov V.I.", "B", 1979, 2005,
  41.                 "Lebedev A.A.","B", 1959, 1981,
  42.                 "Dimov V.V.", "G", 1991, 2010};
  43.    stinf women[N];
  44.    stinf x;
  45.    printf("\nТаблица №6\n____________________________________________________________________________\n");
  46.    vivodt(N,rab);
  47.    for (i=0;i<N;i++) if (rab[i].pol=="G") women[k++]=rab[i];
  48.    sor(k,women);
  49.    printf("\nТаблица \n____________________________________________________________________________\n");
  50.    vivodt(k,women);
  51. return 0;
  52. }
Add Comment
Please, Sign In to add comment