Advertisement
Guest User

Untitled

a guest
Oct 12th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement