Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. #define MAX 100
  2. #include <iostream>
  3. #include <string>
  4. #include <cstdlib>
  5. #include <ctime>
  6. #include <cmath>
  7. #include <iomanip>
  8. #include <time.h>
  9. #include <algorithm>
  10. using namespace std;
  11.  
  12. int x;
  13. int y;
  14. int main()
  15. {
  16.     srand(time(NULL));
  17.     int tab[MAX];
  18.  
  19.     for (int i = 0; i < MAX; i++) //uzupełnianie tablicy losowymi wartościami
  20.     {
  21.         tab[i] = rand() % 1999;
  22.     }
  23.  
  24.  
  25.     cout <<"Posortowana tablica: " << endl << endl;
  26.     sort(tab,tab+MAX);              //sortowanie tablicy
  27.  
  28.     for (int i = 0;i < MAX;i++) {
  29.         cout << tab[i] << " ";                      // wyświetlenie tablicy
  30.     }
  31.         cout << endl << endl;
  32.     int stan;
  33.     cout << "Wybierz rodzaj wyszukiwania (1 naturalne, 2 binarne) : " << endl;
  34.     cin >> stan;
  35.  
  36.     if (stan==1){
  37.         cout<< "podaj liczbe:"<<endl;
  38.         cin>> x;
  39.         bool znaleziono = false;
  40.         int licznik = 0;
  41.      for (int i = 0; i<MAX; i++)
  42.         {
  43.             licznik++;
  44.  
  45.                 if ( x == tab[i]){
  46.  
  47.  
  48.                         cout << "Indeks elementu: " << i << endl;
  49.                         znaleziono = true;
  50.                         cout << "Ilosc iteracji: " << licznik << endl;
  51.                         break;
  52.     }
  53.  
  54.  
  55.     }
  56.     if (znaleziono == false)
  57.     {
  58.         cout << "nie znaleziono elementu w tablicy" << endl;
  59.     }
  60. }
  61.     if (stan==2){
  62.  
  63.  
  64.     int liczba, n = MAX, l, p, s,x=0;
  65.  
  66.     cout << "Zawartosc tablicy:\n";
  67.     cout << endl;
  68.     for (int i = 0; i < n; i++)
  69.     cout << "tab [" << i << "] = " << tab[i] << endl;
  70.     cout << "Podaj jaki element znalezc: ";
  71.     cin >> liczba;
  72.  
  73.     l = 0;
  74.     p = n-1;
  75.     int licznik = 0;
  76.     while (true)
  77.     {
  78.         licznik++;
  79.  
  80.         if (l > p)
  81.         {
  82.             cout << "Nie odnaleziono szukanego elementu" << endl;
  83.             break;
  84.         }
  85.         s = (l+p)/2;
  86.         if (tab[s] == liczba)
  87.         {
  88.             cout << "Odnaleziono liczbe " << liczba << " pod indeksem " << s << endl;
  89.             break;
  90.         }
  91.  
  92.         if (tab[s] < liczba)
  93.             l = s+1;
  94.         else
  95.             p = s-1;
  96.  
  97.  
  98.     }
  99.  
  100.     cout << "Ilosc iteracji: " << licznik << endl;
  101.  }
  102.     return 0;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement