SHARE
TWEET

Untitled

a guest Oct 12th, 2017 48 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <ctime>
  4. #include <algorithm>
  5. using namespace std;
  6.  
  7. void wstaw(int tab[], int n){
  8.     srand(time(NULL));
  9.     for (int i=0;i<n;i++){
  10.         tab[i]=(rand()%500 )+1;
  11.     }
  12. }
  13.  
  14. void drukuj(int tab[], int n){
  15.     for(int i=0;i<n;i++)
  16.         cout<<tab[i]<<" ";
  17.     cout<<endl<<endl;
  18. }
  19.  
  20. int wyszukiwanieLiniowe(int tab[], int n, int s){
  21.     int i=1;
  22.     while(i<=n && s!=tab[i-1])
  23.         i+=1;
  24.     if (i>n)
  25.         return -1;
  26.     return i-1;
  27. }
  28.  
  29. int wyszukiwanieBinarne(int tab[], int n, int s){
  30.     for(int i=0;i<n-1;i++)
  31.         for(int j=0;j<n-1;j++){
  32.             if(tab[j]>tab[j+1])
  33.                 swap(tab[j],tab[j+1]);
  34.         }
  35.     cout<<"Tablica po posrotowaniu: "<<endl;
  36.     drukuj(tab,n);
  37.  
  38.     int srodek,lewy=0;
  39.     int prawy=n;
  40.     bool znaleziono = false;
  41.     while(lewy<=prawy && !znaleziono){
  42.         srodek=(lewy+prawy)/2;
  43.         if(tab[srodek]==s)
  44.             return srodek;
  45.         else{
  46.             if(s<tab[srodek])
  47.                 prawy=srodek-1;
  48.             else
  49.                 lewy=srodek+1;
  50.         }
  51.     }
  52.     return -1;
  53. }
  54.  
  55. int main(int argc, char *argv[])
  56. {
  57.     const int N=20;
  58.     int tab[N],s,x;
  59.     cout<<"Wygenerowane losowe wartosci wygladaja nastepujaco: "<<endl;
  60.     wstaw(tab,N);
  61.     drukuj(tab,N);
  62.     cout<<"Podaj szukana liczbe: ";
  63.     cin>>x;
  64.     cout<<endl<<"Wynik wyszukiwania lokalnego: ";
  65.     cout<<wyszukiwanieLiniowe(tab,N,x)<<endl<<endl;
  66.     cout<<"Wynik wyszukiwania binarnego: "<<endl;
  67.     cout<<wyszukiwanieBinarne(tab,N,x)<<endl;
  68.  
  69.  
  70.     return 0;
  71. }
RAW Paste Data
Top