Guest User

Untitled

a guest
Nov 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. /*
  2. * File: main.c
  3. * Author: hkeijone
  4. *
  5. * Created on 12. syyskuuta 2011, 12:41
  6. */
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <time.h>
  11.  
  12.  
  13. /*
  14. *
  15. */
  16.  
  17. void print_doubles(double* array, int len) {
  18. for (int i = 0; i < len; i++) {
  19. printf("%lf " , array[i]);
  20. }
  21. printf("%s \n" , "");
  22.  
  23. }
  24.  
  25. void swap(void* a, void* b, size_t elem_size) {
  26. char* ca = a;
  27. char* cb = b;
  28. for (size_t i = 0; i < elem_size; i++) {
  29. char temp = ca[i];
  30. ca[i] = cb[i];
  31. cb[i] = temp;
  32. }
  33. return;
  34. }
  35.  
  36. void shuffle(void* array, int len, size_t elem_size) {
  37.  
  38. int moduloija;
  39. int arvottu;
  40. int kerroin = elem_size/sizeof(char);
  41. printf("%d\n", kerroin);
  42. char *arr = (char*)array;
  43.  
  44. int j;
  45. for ( j = 0; j < len; j++) {
  46. moduloija = len - j;
  47. srand(time(NULL));
  48.  
  49. arvottu = rand() % moduloija;
  50. swap(&arr[j*kerroin*sizeof(char)], &arr[arvottu*kerroin*sizeof(char)], elem_size);
  51. }
  52.  
  53. array = array;
  54. elem_size = elem_size;
  55.  
  56.  
  57.  
  58.  
  59. // printf(" %lf\n", arr[]);
  60.  
  61.  
  62.  
  63.  
  64. }
  65.  
  66.  
  67.  
  68.  
  69. // int i;
  70. /*
  71. for (size_t i = 0; i < elem_size; i++){
  72. printf("%lf", arr[i]);
  73. }
  74. */
  75.  
  76.  
  77.  
  78. int main() {
  79.  
  80. double nums[5] = { 1.5, 3.5, 5.5, 7.5, 9.5 };
  81. shuffle(nums, 5, sizeof(double));
  82. print_doubles(nums, 5); // implemented in a previous task
  83.  
  84. return (EXIT_SUCCESS);
  85. }
Add Comment
Please, Sign In to add comment