Advertisement
Kocyk

wyszukiwanie elemetntu cpp

Mar 4th, 2019
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int bisekcyjne(int n,int szukana,int liczby[])
  5. {
  6. int poczatek=0;
  7. int koniec=n;
  8. int srodek;
  9.  
  10. while(poczatek<=koniec)
  11. {
  12. srodek = (poczatek + koniec)/2;
  13.  
  14. if(liczby[srodek] == szukana)
  15. return srodek+1;
  16.  
  17. if(liczby[srodek] > szukana)
  18. koniec = srodek - 1;
  19. else
  20. poczatek = srodek + 1;
  21. }
  22. return 0;
  23. }
  24.  
  25.  
  26. int liniowe(int n,int szukana,int liczby[])
  27. {
  28. int k=0;
  29. for(int i=0;i<n;i++)
  30. {
  31. if(liczby[i]==szukana)
  32. {
  33. k=i+1;
  34. break;
  35. }
  36.  
  37. }
  38. if(k==0) return 0;
  39. else return k;
  40. }
  41. int main()
  42. {
  43. int n,ileros=0,pom=0;
  44. cout<<"Podaj ile liczb" <<endl;
  45. cin>>n;
  46. int liczby[n];
  47. while(pom==0)
  48. {
  49. for(int i=0;i<n;i++)
  50. {
  51.  
  52. cout<<"Podaj element tablicy nr "<<i+1<<"."<<endl;
  53. cin>>liczby[i];
  54.  
  55. }
  56. ileros=0;
  57. for(int i=0;i<n-1;i++)
  58. {
  59. if(liczby[i]<liczby[i+1]) ileros++;
  60. }
  61. if(ileros==n-1)
  62. {
  63. cout<<"Ciag jest rosnacy"<<endl;
  64. pom=1;
  65. }
  66. else
  67. {
  68. cout<<"Ciag nie jest rosnacy, sprobuj jeszcze raz."<<endl;
  69. pom=0;
  70. }
  71. }
  72. int szukana;
  73. cout<<"Podaj szukana liczbe: "<<endl;
  74. cin>>szukana;
  75. int wybor;
  76. cout<<"Ktorym sposobem wyszukac?"<<endl<<"1.Liniowo"<<endl<<"2.Bisekcja"<<endl;
  77. cin>>wybor;
  78. int index;
  79. switch(wybor)
  80. {
  81. case 1:
  82. index=liniowe(n,szukana,liczby);
  83. if(index>0)cout<<"Szukana liczba jest na "<<index<<" miejscu."<<endl;
  84. else cout<<"Brak szukanego elementu"<<endl;
  85. break;
  86. case 2:
  87. index=bisekcyjne(n,szukana,liczby);
  88. if(index>0)cout<<"Szukana liczba jest na "<<index<<" miejscu."<<endl;
  89. else cout<<"Brak szukanego elementu"<<endl;
  90. break;
  91. default:
  92. cout<<"Błedny wybor."<<endl;
  93. }
  94.  
  95. return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement