Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- float random_float(float min, float max)
- {
- if (max == min) return min;
- else if (min < max) return (max - min) * ((float)rand() / RAND_MAX) + min;
- }
- void gen_arr(float V[], int n, float dg, float gg) {
- for (int i = 0; i < n; i++) {
- V[i] = random_float(dg, gg);
- }
- }
- int sekv_pret(float V[], int n, float x) {
- time_t t = clock();
- for (int i = 0; i < n; i++) {
- if (V[i] == x) {
- t = clock() - t;
- printf("Vrijeme trajanja sekvencijalnog pretrazivanja iznosi %dms.\n", t);
- return i;
- }
- }
- t = clock() - t;
- printf("Vrijeme trajanja sekvencijalnog pretrazivanja iznosi %dms.\n", t);
- return -1;
- }
- void Zamjena(float *x, float *y) {
- float temp = 0;
- temp = *x;
- *x = *y;
- *y = temp;
- }
- void Ispis(float V[], int n) {
- printf("V[");
- for (int i = 0; i < n; i++) {
- if (i < n - 1) printf("%.2f, ", V[i]);
- else printf("%.2f]\n", V[i]);
- }
- }
- void SelectionSort(float V[], int n) {
- time_t t = clock();
- for (int i = 0; i < n - 1; i++) {
- for (int j = i + 1; j < n; j++) {
- if (V[j] < V[i]) Zamjena(&V[j], &V[i]);
- }
- }
- t = clock() - t;
- printf("Vrijeme trajanja selection sorta iznosi %dms.\n", t);
- }
- int BinarnoPretrazivanje(float V[], int n, float x) {
- int dg = 0;
- int gg = n - 1;
- int s = -1;
- time_t t = clock();
- while (dg <= gg) {
- s = (dg + gg) / 2;
- if (V[s] == x) {
- printf("Trazeni broj se nalazi na %d. mjestu u nizu.\n", s);
- t = clock() - t;
- printf("Vrijeme trajanja binarnog pretrazivanja iznosi %dms.\n", t);
- return s;
- }
- else if (V[s] > x) {
- gg = s - 1;
- }
- else {
- dg = s + 1;
- }
- }
- t = clock() - t;
- printf("Vrijeme trajanja binarnog pretrazivanja iznosi %dms.\n", t);
- printf("Trazeni broj se ne nalazi u nizu.\n");
- return -1;
- }
- int main()
- {
- int n;
- float *V = NULL;
- printf("Unesite broj elemenata:\n");
- scanf("%d", &n);
- V = (float *)malloc(n * sizeof(float));
- gen_arr(V, n, 0, 100);
- //Ispis(V, n);
- printf("\nSEKVENCIJALNO PRETRAZIVANJE:\n");
- sekv_pret(V, n, 300);
- printf("\nSORTIRANJE:\n");
- SelectionSort(V, n);
- //Ispis(V, n);
- printf("\nBINARNO PRETRAZIVANJE\n");
- BinarnoPretrazivanje(V, n, 0.13);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement