Advertisement
Guest User

Untitled

a guest
May 22nd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void ispis(int niz[], int n){
  5. int i;
  6. system("cls");
  7. for(i=0;i<n;i++) printf(" %i ", niz[i]);
  8. printf("\n");
  9. }
  10. int main()
  11. {
  12. int l, d, m, n, trazeniBroj, a[100];
  13. FILE *f; // deklarise novu promenjivu f , odnosno fajl f
  14.  
  15. f=fopen("brojevi.txt","r"); // fajlu f dodeljuje "vrednost"(odnosno fajl) i sprema ga za citanje
  16. if(f != NULL){ // proverava da li postoji , ako postoji onda se if izvrsava
  17. n=0;//promenjivu n ovde koristim kao brojac , posle kao duzinu niza a
  18. while(!feof(f)){ // ovaj while se vrti sve dok ne dodje do poslednje linije texta fajla f
  19. fscanf(f,"%i\n",&a[n]); // ucitava celobrojnu vrednost i stavlja je u niz
  20. n++;//povecava brojac niza
  21. }
  22. fclose(f);//zatvara fajl f
  23. }else{ // ovaj else se izvrsava u slucaju da ne postoji fajl
  24. printf("Greska pri ucitavanju !\n");
  25. fclose(f);//zatvara fajl f
  26. return -1;//izlazi iz programa
  27. }
  28. ispis(a,n);
  29. printf("Enter value to find\n");
  30. scanf("%d", &trazeniBroj);
  31. l = 0;
  32. d = n - 1;
  33. m = (l+d)/2;
  34.  
  35. while (l <= d) {
  36. if (a[m] < trazeniBroj){
  37. l = m +1;
  38. m = (l + d)/2;
  39. }else if (a[m] == trazeniBroj){
  40. printf("%d pronadjen.Pos: %d.\n", trazeniBroj, m+1);
  41. break;
  42. }
  43. else{
  44. d = m - 1;
  45. m = (l + d)/2;
  46. }
  47. }
  48. if (l > d) printf("Broj %i nije pronadjen u datom nizu.\n", trazeniBroj);
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement