Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Да се напишат следните функции за пребарување во низа:
- • Линеарно пребарување
- • Бинарно пребарување
- Потоа да се напише главна програма во која ќе се пополнува низа со броевите
- од 1 до 1 000 000, а потоа се генерира случаен број во овој опсег чија што
- позиција треба да се пронајде со повикување на двете функции за
- пребарување
- */
- #include <stdio.h>
- #include <stdlib.h>
- int randomNumb(){
- return (rand() % 1000000 + 1);
- }
- /*int linearno(int *a,int n){
- int broj=randomNumb();
- printf("%d\n",broj);
- for(int i=0;i<n;i++){
- if(*(a+i)==broj){
- return i;
- }
- }
- }*/
- int binarno(int *a,int n){
- int broj=randomNumb();
- printf("%d\n",broj);
- int start=0,end=n;
- while(start<=end){
- int middle=(start+end)/2;
- if(broj<*(a+middle)){
- end=middle;
- }
- else if (broj>*(a+middle)){
- start=middle;
- }
- else if(broj==*(a+middle)){
- return middle;
- }
- }
- }
- int main()
- {
- int from=0,to=1000001;
- int niza[1000000];
- int i;
- for( i=from;i<to;i++){
- niza[i]=i;
- }
- //printf("%d",linearno(&niza,to));
- printf("%d",binarno(&niza,to));
- return 0;
- }
Add Comment
Please, Sign In to add comment