Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<time.h>
- int dzialanie = 0;
- void exch(float *a, float *b)
- {
- float tmp = *b;
- *b = *a;
- *a = tmp;
- }
- int wprowadzanie()
- {
- int rozm;
- printf("Podaj rozmiar tablicy:");
- scanf("%d", &rozm);
- printf("\nPodaj typ dzialania:\n 1-Selection sort \n 0-Bubble sort\n");
- scanf("%d", &dzialanie);
- return rozm;
- }
- void losowanie(int rozm, float *f1)
- {
- srand(time(NULL));
- for (int i = 0; i < rozm; i++)
- f1[i] = (float)((rand() % 30100) - 100) / 100;
- return;
- }
- void wyswietlanie(int rozm, float *f1)
- {
- for (int i = 0; i < rozm; i++)
- printf("%f ", f1[i]);
- }
- void select_sort(float *f1, int rozm)
- {
- int min;
- for (int i = 0; i < rozm - 1; i++)
- {
- min = i;
- for (int j = i + 1; j < rozm; j++)
- if (f1[min] > f1[j])
- min = j;
- exch(&f1[i], &f1[min]);
- printf("\n \n");
- wyswietlanie(rozm, f1);
- }
- }
- void buuble_sort(float *f1, int rozm)
- {
- int tmp, koniec;
- for (int i = 0; i < rozm; i++)
- {
- if (koniec == 0)
- break;
- tmp = f1[i];
- koniec = 0;
- for (int j = i+1; j < rozm; j++)
- {
- if (f1[tmp] < f1[j])
- {}
- else if(f1[tmp] > f1[j])
- {
- f1[j] = f1[tmp];
- koniec++;
- }
- }
- wyswietlanie(rozm, f1);
- }
- }
- int main()
- {
- int rozm = wprowadzanie();
- float *f1 = (float*)malloc(sizeof(float)*rozm);
- losowanie(rozm, f1);
- wyswietlanie(rozm, f1);
- if (dzialanie = 0)
- buuble_sort(f1,rozm);
- else if (dzialanie = 1)
- select_sort(f1, rozm);
- free(f1);
- system("Pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement