gashink_t

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

Feb 11th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.17 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 (strcmp(a[j].fio, a[j-1].fio)<0){
  26.                                x=a[j];
  27.                                a[j]=a[j-1];
  28.                                a[j-1]=x;}
  29. return 0;
  30. }
  31.  
  32. int i,j,k;
  33. int main(){
  34.         stinf rab[N]={"Asimov U.P.","B", 1940, 1957,
  35.                 "Ivanov I.N.", "B", 1980, 1999,
  36.                 "Mahova O.I.","G", 1960, 1980,
  37.                 "Ogarev K.M.", "B", 1971, 1990,
  38.                 "Egorova P.K.", "G", 1993, 2011,
  39.                 "Golikova O.I.", "G", 1972, 1990,
  40.                 "Sotnicov T.C.", "B", 1943, 1960,
  41.                 "Komov V.I.", "B", 1979, 2005,
  42.                 "Lebedev A.A.","B", 1959, 1981,
  43.                 "Dimov V.V.", "G", 1991, 2010};
  44.    stinf pod[N];
  45.    stinf x;
  46.    printf("\nТаблица №6\n____________________________________________________________________________\n");
  47.    vivodt(N,rab);
  48.    for (i=0;i<N;i++) if (rab[i].p<1999 && rab[i].pol=="B") pod[k++]=rab[i];
  49.    printf("\nТаблица подходящих:\n____________________________________________________________________________\n");
  50.    vivodt(k,pod);
  51.    sor(k,pod);
  52.    printf("\nТаблица подходящих в алфавитном порядке:\n____________________________________________________________________________\n");
  53.    vivodt(k,pod);
  54. return 0;
  55. }
Add Comment
Please, Sign In to add comment