Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void sortowanie(int *tab,int ile);
- int szukaniebinarne(int *tab,int right,int x);
- int main()
- {
- int i=0,ile,*tablica=NULL,szukanawartosc;
- printf("ile elementow tabilcy?\n");
- scanf("%d",&ile);
- tablica=(int*)realloc(tablica,ile*sizeof(int));
- printf("\nPodaj elementy tablicy: ");
- for(i=0;i<ile;i++)
- scanf("%d",tablica+i);
- printf("\nPodaj szukana wartosc: ");
- scanf("%d",&szukanawartosc);
- sortowanie(tablica,ile);
- for(i=0;i<ile;i++)
- printf("%d ",*(tablica+i));
- printf("\nIndeks szukanej wartosci: %d",szukaniebinarne(tablica,ile-1,szukanawartosc));
- return 0;
- }
- void sortowanie(int *tab,int ile)
- {
- int i=0,j=0,tmp=0;
- for(i=0;i<ile-1;i++)
- for(j=0;j<ile-1;j++)
- if(*(tab+j)>*(tab+j+1))
- {
- tmp=*(tab+j);
- *(tab+j)=*(tab+j+1);
- *(tab+j+1)=tmp;
- }
- }
- int szukaniebinarne(int *tab,int right,int x)
- {
- int left=0,mid;
- for(;;)
- {
- if(left>right)
- return -1;
- else
- {
- mid=(left+right)/2;
- if(*(tab+mid)==x)
- return mid;
- else
- {
- if(*(tab+mid)<x)
- left=mid+1;
- else
- right=mid-1;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement