Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.78 KB | None | 0 0
  1.  
  2. #include "stdafx.h"
  3. #include <iostream>
  4. #include <ctime>
  5. #include <iomanip>
  6.  
  7. using namespace std;
  8.  
  9. void wyswietl(int t[], int r)
  10. {
  11.     for (int i = 0; i < r; i++)
  12.     {
  13.         cout << setw(3) << t[i];
  14.         cout << "    ";
  15.     }
  16. }
  17.  
  18. void szuk_elem(int t[], int r, int k)
  19. {
  20.     int l, p, i, j, wtemp, m;
  21.     l = 0; p = r - 1;
  22.     int lp = 0;
  23.     while (l<p)
  24.     {
  25.         m = t[k]; i = l; j = p;
  26.         cout << "m=" << m << "    l=" << l << "    p=" << p << endl;
  27.         do
  28.         {
  29.             while (t[i]<m) i++;
  30.             while (t[j]>m) j--;
  31.             if (i <= j)
  32.             {
  33.                 cout << "zamieniane: " << t[i] << " z " << t[j] << endl;
  34.                 wtemp = t[i]; t[i] = t[j]; t[j] = wtemp;
  35.                 i++; j--;
  36.                 wyswietl(t, r);
  37.                 cout << endl;
  38.             }
  39.         } while (i <= j);
  40.         cout << "i=" << i << "    j=" << j << endl;
  41.         wyswietl(t, r);
  42.         cout << endl;
  43.         if (j<k) l = i; //zawężanie przedziału poszukiwań
  44.         if (i>k) p = j; //zawężanie przedziału poszukiwań
  45.     }
  46.     cout << "\n szukany element n=" << k << " rowny: " << t[k];
  47. }
  48.  
  49. int main()
  50. {
  51.     time_t ts, tk;
  52.  
  53.     srand(time(NULL));
  54.  
  55.     int tab[12] = { 23,12,5,39,16,27,41,45,52,14,49,43 };
  56.     int tab2[12] = { 1, 5, 3, 4, 2, 3, 4, 2, 1, 4, 5, 2};
  57.     int tab3[10] = { 1,2,3,4,5,6,7,8,9,10 };
  58.     int tab5[10] = { 81,9,73,31,16,44,59,6,70,90 };
  59.     int tab4[10] = { 10,9,8,7,6,5,4,3,2,1 };
  60.  
  61.     cout << "tablica przed szukaniem: " << endl;
  62.     wyswietl(tab4, 10);
  63.     cout << endl;
  64.  
  65.     szuk_elem(tab4, 10, 7); // element 7 pod względem wartosci
  66.  
  67.     cout << endl;
  68.     system("pause");
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement