Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1.  
  2. #define MAX 100
  3. #include <iostream>
  4. #include <string>
  5. #include <cstdlib>
  6. #include <ctime>
  7. #include <cmath>
  8. #include <iomanip>
  9. #include <time.h>
  10. using namespace std;
  11.  
  12. int zamiany= 0;
  13. int porownania= 0;
  14. int main()
  15. {
  16.     srand(time(NULL));
  17.  
  18.     int tab[MAX];
  19.  
  20.     cout <<"Posortowana tablica: " << endl << endl;
  21.  
  22.     for (int i = 0;i < MAX;i++) {
  23.         tab[i] = rand() % (4 * MAX - 1) + 0;     // losowe wartosci tablicy w zakresie do 2000 -1
  24.         tab[i]=i;                                   // tablica juz posortowana
  25.  
  26.         cout << tab[i] << " ";                      // wyświetlenie tablicy
  27.  
  28.     }
  29.         cout << endl << endl;
  30.  
  31.     int liczba, n = MAX, l, p, s,x=0;
  32.  
  33.     cout << "Zawartosc tablicy:\n";
  34.     cout << endl;
  35.     for (int i = 0; i < n; i++)
  36.     cout << "tab [" << i << "] = " << tab[i] << endl;
  37.     cout << "Podaj jaki element znalezc: ";
  38.     cin >> liczba;
  39.     l = 0;
  40.     p = n-1;
  41.     int licznik = 0;
  42.     while (true)
  43.     {
  44.         licznik++;
  45.  
  46.         if (l > p)
  47.         {
  48.             cout << "Nie odnaleziono szukanego elementu" << endl;
  49.             break;
  50.         }
  51.         s = (l+p)/2;
  52.         if (tab[s] == liczba)
  53.         {
  54.             cout << "Odnaleziono liczbe " << liczba << " pod indeksem " << s << endl;
  55.             break;
  56.         }
  57.  
  58.         if (tab[s] < liczba)
  59.             l = s+1;
  60.         else
  61.             p = s-1;
  62.  
  63.  
  64.     }
  65.     std::cout << "Ilosc iteracji: " << licznik << std::endl;
  66.  
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement