Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.83 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4.  
  5.  
  6. using namespace std;
  7.  
  8.  
  9.  
  10. struct  phonebook
  11. {
  12.     char name[20];
  13.     char lname[20];
  14.     int number;
  15. };
  16.  
  17. void poisk(int &vibor, phonebook *wk)
  18. {
  19.     int schetChik[50], temp;
  20.     char sortiOvka[50][50], tempCh[50];
  21.     int k = 1;
  22.     bool povtor;
  23.     for (int p = 0; p < 50; ++p)
  24.     {
  25.         schetChik[p] = 0;
  26.     }
  27.     if (vibor == 1)
  28.     {
  29.         strcpy_s(sortiOvka[0], wk[0].name);
  30.         ++schetChik[0];
  31.         for (int i = 1; i < 7; ++i)
  32.         {
  33.              povtor = false;
  34.             for (int j = 0; j < k; ++j)
  35.             {
  36.                 if (!strcmp(sortiOvka[j], wk[i].name))
  37.                 {
  38.                     ++schetChik[j];
  39.                     povtor = true;
  40.                 }
  41.                
  42.             }
  43.             if (!povtor)
  44.             {
  45.                 strcpy_s(sortiOvka[k], wk[i].name);
  46.                 schetChik[k] = 1;
  47.                 ++k;
  48.                
  49.             }
  50.         }
  51.     }
  52.     else
  53.     {
  54.         strcpy_s(sortiOvka[0], wk[0].lname);
  55.         ++schetChik[0];
  56.         for (int i = 1; i < 7; ++i)
  57.         {
  58.              povtor = false;
  59.             for (int j = 0; j < k; ++j)
  60.             {
  61.                 if (!strcmp(sortiOvka[j], wk[i].lname))
  62.                 {
  63.                     ++schetChik[j];
  64.                     povtor = true;
  65.                 }
  66.                
  67.             }
  68.             if (!povtor)
  69.             {
  70.                 strcpy_s(sortiOvka[k], wk[i].lname);
  71.                 schetChik[k] = 1;
  72.                 ++k;
  73.                
  74.             }
  75.         }
  76.     }
  77.     for (int i = 0; i < k; ++i)
  78.     {
  79.         for (int j = 0; j < k - 1 - i; ++j)
  80.         {
  81.             if (schetChik[j] < schetChik[j + 1])
  82.             {
  83.                 temp = schetChik[j];
  84.                 schetChik[j] = schetChik[j + 1];
  85.                 schetChik[j + 1] = temp;
  86.                 strcpy_s(tempCh, sortiOvka[j]);
  87.                 strcpy_s(sortiOvka[j], sortiOvka[j + 1]);
  88.                 strcpy_s(sortiOvka[j + 1], tempCh);
  89.             }
  90.         }
  91.     }
  92.  
  93.     for (int i = 0; i < k; i++)
  94.     {
  95.         cout << sortiOvka[i] << " " << schetChik[i] << endl;
  96.     }
  97.  
  98. }
  99.  
  100. int main()
  101. {
  102.     setlocale(LC_ALL, "rus");
  103.  
  104.     bool flag;
  105.     int vibor;
  106.     phonebook wk[20];
  107.     strcpy_s(wk[0].name, "Денис");
  108.     strcpy_s(wk[0].lname, "Волков");
  109.     wk[0].number = 89216538091;
  110.  
  111.     strcpy_s(wk[1].name, "Андрей");
  112.     strcpy_s(wk[1].lname, "Волков");
  113.     wk[1].number = 89216537091;
  114.  
  115.     strcpy_s(wk[2].name, "Кирилл");
  116.     strcpy_s(wk[2].lname, "Волков");
  117.     wk[2].number = 89212345091;
  118.  
  119.     strcpy_s(wk[3].name, "Андрей");
  120.     strcpy_s(wk[3].lname, "Волков");
  121.     wk[3].number = 89216538456;
  122.  
  123.     strcpy_s(wk[4].name, "Кирилл");
  124.     strcpy_s(wk[4].lname, "Коротков");
  125.     wk[4].number = 89216512391;
  126.  
  127.     strcpy_s(wk[5].name, "Богдан");
  128.     strcpy_s(wk[5].lname, "Коротков");
  129.     wk[5].number = 89216538671;
  130.  
  131.     strcpy_s(wk[6].name, "Андрей");
  132.     strcpy_s(wk[6].lname, "Рожков");
  133.     wk[6].number = 89216538092;
  134.  
  135.  
  136.  
  137.     cout << "Введите пожалуйста 1 или 0 , если хотите вывести список людей по имени или фамилии соответственно: ";
  138.     cin >> vibor;
  139.    
  140.     while (vibor!= 1 && vibor!=0)
  141.         {
  142.             cout << "Ошибка. Введите 1 или 0" << endl;
  143.             cin >> vibor;
  144.         }
  145.  
  146.     poisk(vibor, wk);
  147.     system("pause");
  148.     return 0;
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement