Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int dzialanie = 0;
  5. void exch(float *a, float *b)
  6. {
  7. float tmp = *b;
  8. *b = *a;
  9. *a = tmp;
  10. }
  11. int wprowadzanie()
  12. {
  13. int rozm;
  14. printf("Podaj rozmiar tablicy:");
  15. scanf("%d", &rozm);
  16. printf("\nPodaj typ dzialania:\n 1-Selection sort \n 0-Bubble sort\n");
  17. scanf("%d", &dzialanie);
  18. return rozm;
  19. }
  20. void losowanie(int rozm, float *f1)
  21. {
  22. srand(time(NULL));
  23. for (int i = 0; i < rozm; i++)
  24. f1[i] = (float)((rand() % 30100) - 100) / 100;
  25. return;
  26. }
  27. void wyswietlanie(int rozm, float *f1)
  28. {
  29. for (int i = 0; i < rozm; i++)
  30. printf("%f ", f1[i]);
  31. }
  32. void select_sort(float *f1, int rozm)
  33. {
  34. int min;
  35. for (int i = 0; i < rozm - 1; i++)
  36. {
  37. min = i;
  38. for (int j = i + 1; j < rozm; j++)
  39. if (f1[min] > f1[j])
  40. min = j;
  41. exch(&f1[i], &f1[min]);
  42. printf("\n \n");
  43. wyswietlanie(rozm, f1);
  44. }
  45. }
  46. void buuble_sort(float *f1, int rozm)
  47. {
  48. int tmp, koniec;
  49. for (int i = 0; i < rozm; i++)
  50. {
  51. if (koniec == 0)
  52. break;
  53. tmp = f1[i];
  54. koniec = 0;
  55. for (int j = i+1; j < rozm; j++)
  56. {
  57. if (f1[tmp] < f1[j])
  58. {}
  59. else if(f1[tmp] > f1[j])
  60. {
  61. f1[j] = f1[tmp];
  62. koniec++;
  63. }
  64. }
  65. wyswietlanie(rozm, f1);
  66. }
  67. }
  68. int main()
  69. {
  70. int rozm = wprowadzanie();
  71. float *f1 = (float*)malloc(sizeof(float)*rozm);
  72. losowanie(rozm, f1);
  73. wyswietlanie(rozm, f1);
  74. if (dzialanie = 0)
  75. buuble_sort(f1,rozm);
  76. else if (dzialanie = 1)
  77. select_sort(f1, rozm);
  78. free(f1);
  79. system("Pause");
  80. return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement