j4ggi

JiMP_lab8_2

Nov 17th, 2014
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. struct sX
  7. {
  8.     string imie, nazwisko;
  9. };
  10.  
  11. void bubblesort(sX* tab, int rozmiar, bool wybor)
  12. {
  13.     if(!wybor)
  14.     {
  15.         for (int i=0; i<rozmiar-1; i++)
  16.             for (int j=0; j<rozmiar-1; j++)
  17.                 if( (tab[j].nazwisko).compare(tab[j+1].nazwisko)>0 )
  18.                 swap(tab[j], tab[j+1]);
  19.                 else if(!(tab[j].nazwisko).compare(tab[j+1].nazwisko))
  20.                 {
  21.                     if( (tab[j].imie).compare(tab[j+1].imie)>0)
  22.                     swap(tab[j], tab[j+1]);
  23.                 }
  24.     }
  25.     else
  26.     {
  27.         for (int i=0; i<rozmiar-1; i++)
  28.             for (int j=0; j<rozmiar-1; j++)
  29.                 if( (tab[j].imie).compare(tab[j+1].imie)>0)
  30.                 swap(tab[j], tab[j+1]);
  31.                 else if(!(tab[j].imie).compare(tab[j+1].imie))
  32.                 {
  33.                     if( (tab[j].nazwisko).compare(tab[j+1].nazwisko)>0 )
  34.                     swap(tab[j], tab[j+1]);
  35.                 }
  36.     }
  37. }
  38.  
  39. int main()
  40. {
  41.     int wybor, n;
  42.     cout<<"Dla ilu osob chcesz wprowadzic imiona i nazwiska?";
  43.     cin>>n;
  44.     sX tab[n];
  45.     cout<<"Wprowadz imiona i nazwiska "<<n<<" osob:\n";
  46.     for (int i=0; i<n; i++)
  47.         cin>>tab[i].imie>>tab[i].nazwisko;
  48.     cout<<"Posortuj wedlug \n1. Nazwisk \n2. Imion\n";
  49.     cin>>wybor;
  50.     wybor--;
  51.     bubblesort(tab, n, wybor);
  52.     for (int i=0;i<n;i++)
  53.         if(!wybor)
  54.             cout<<tab[i].nazwisko<<" "<<tab[i].imie<<endl;
  55.         else
  56.             cout<<tab[i].imie<<" "<<tab[i].nazwisko<<endl;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment