sokac

aisp-vj1

Nov 10th, 2010
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.64 KB | None | 0 0
  1. // vj2.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <time.h>
  6.  
  7. void gen_arr(float V[], int n, float dg, float gg){
  8.     int i, r;
  9.     srand(clock());
  10.     for(i=0; i<n; i++){
  11.         r=rand();
  12.         //V[i]=(float)((rand()%(int)(gg-dg))+dg)+1+(float)r/(rand()%r);
  13.         V[i]=(float)((rand()%(int)(gg-dg))+dg)+1;
  14.     }
  15. }
  16.  
  17. int sekv_pret(float V[], int n, float x){
  18.     int i;
  19.     for(i=0; i<n; i++)
  20.         if(V[i]==x) return i;
  21.     return -1;
  22. }
  23.  
  24. void sort(float V[], int n){
  25.     int sorted=0, i, x=0;
  26.     float tmp;
  27.     while(!sorted){
  28.         sorted=1;
  29.         for(i=1; i<n-x; i++)
  30.             if(V[i]<V[i-1]){
  31.                 tmp=V[i];
  32.                 V[i]=V[i-1];
  33.                 V[i-1]=tmp;
  34.                 sorted=0;
  35.             }
  36.         x++;
  37.     }
  38. }
  39.  
  40.  
  41. int bin_pret(float V[], int n, float x){
  42.     int dg=0, gg, cur;
  43.     gg=n-1;
  44.     while(dg<=gg){
  45.         cur=(gg+dg)/2;
  46.         if(V[cur]==x) return cur;
  47.         if(V[cur]<x)
  48.             dg=cur+1;
  49.         else
  50.             gg=cur-1;
  51.     }
  52.     return -1;
  53. }
  54. void main(){
  55.     int n, i;
  56.     float V[200000], x;
  57.     time_t t1, t2;
  58.     srand(time(NULL));
  59.     printf("Unesi vrijednost niza: ");
  60.     scanf("%d", &n);
  61.    
  62.     printf("Generiram niz!\n");
  63.     gen_arr(V,n,1,1000);
  64.    
  65.     // ispis radi pretrage!
  66.    
  67.  
  68.     printf("\n\n");
  69.  
  70.     printf("Unesi broj koji zelis da pretrazim: ");
  71.     scanf("%f", &x);
  72.     t1=clock();
  73.     printf("Rezultat je: %d\n", sekv_pret(V,n,x));
  74.     t2=clock();
  75.     printf("Vrijeme izvrsavanja je %dms\n", t2-t1);
  76.  
  77.     printf("\nSortiram...\n");
  78.     t1=clock();
  79.     sort(V, n);
  80.     t2=clock();
  81.     printf("Vrijeme izvrsavanja je %dms\n", t2-t1);
  82.  
  83.     printf("Unesi broj koji zelis da pretrazim: ");
  84.     scanf("%f", &x);
  85.     t1=clock();
  86.     printf("Razultat je: %d\n", bin_pret(V,n,x));
  87.     t2=clock();
  88.     printf("Vrijeme izvrsavanja je %dms\n", t2-t1);
  89. }
Add Comment
Please, Sign In to add comment