Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <ctime>
- #include <iomanip>
- using namespace std;
- void wyswietl(int t[], int r)
- {
- for (int i = 0; i < r; i++)
- {
- cout << setw(3) << t[i];
- cout << " ";
- }
- }
- void szuk_elem(int t[], int r, int k)
- {
- int l, p, i, j, wtemp, m;
- l = 0; p = r - 1;
- int lp = 0;
- while (l<p)
- {
- m = t[k]; i = l; j = p;
- cout << "m=" << m << " l=" << l << " p=" << p << endl;
- do
- {
- while (t[i]<m) i++;
- while (t[j]>m) j--;
- if (i <= j)
- {
- cout << "zamieniane: " << t[i] << " z " << t[j] << endl;
- wtemp = t[i]; t[i] = t[j]; t[j] = wtemp;
- i++; j--;
- wyswietl(t, r);
- cout << endl;
- }
- } while (i <= j);
- cout << "i=" << i << " j=" << j << endl;
- wyswietl(t, r);
- cout << endl;
- if (j<k) l = i; //zawężanie przedziału poszukiwań
- if (i>k) p = j; //zawężanie przedziału poszukiwań
- }
- cout << "\n szukany element n=" << k << " rowny: " << t[k];
- }
- int main()
- {
- time_t ts, tk;
- srand(time(NULL));
- int tab[12] = { 23,12,5,39,16,27,41,45,52,14,49,43 };
- int tab2[12] = { 1, 5, 3, 4, 2, 3, 4, 2, 1, 4, 5, 2};
- int tab3[10] = { 1,2,3,4,5,6,7,8,9,10 };
- int tab5[10] = { 81,9,73,31,16,44,59,6,70,90 };
- int tab4[10] = { 10,9,8,7,6,5,4,3,2,1 };
- cout << "tablica przed szukaniem: " << endl;
- wyswietl(tab4, 10);
- cout << endl;
- szuk_elem(tab4, 10, 7); // element 7 pod względem wartosci
- cout << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement