Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: main.c
- * Author: hkeijone
- *
- * Created on 12. syyskuuta 2011, 12:41
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- /*
- *
- */
- void print_doubles(double* array, int len) {
- for (int i = 0; i < len; i++) {
- printf("%lf " , array[i]);
- }
- printf("%s \n" , "");
- }
- void swap(void* a, void* b, size_t elem_size) {
- char* ca = a;
- char* cb = b;
- for (size_t i = 0; i < elem_size; i++) {
- char temp = ca[i];
- ca[i] = cb[i];
- cb[i] = temp;
- }
- return;
- }
- void shuffle(void* array, int len, size_t elem_size) {
- int moduloija;
- int arvottu;
- int kerroin = elem_size/sizeof(char);
- printf("%d\n", kerroin);
- char *arr = (char*)array;
- int j;
- for ( j = 0; j < len; j++) {
- moduloija = len - j;
- srand(time(NULL));
- arvottu = rand() % moduloija;
- swap(&arr[j*kerroin*sizeof(char)], &arr[arvottu*kerroin*sizeof(char)], elem_size);
- }
- array = array;
- elem_size = elem_size;
- // printf(" %lf\n", arr[]);
- }
- // int i;
- /*
- for (size_t i = 0; i < elem_size; i++){
- printf("%lf", arr[i]);
- }
- */
- int main() {
- double nums[5] = { 1.5, 3.5, 5.5, 7.5, 9.5 };
- shuffle(nums, 5, sizeof(double));
- print_doubles(nums, 5); // implemented in a previous task
- return (EXIT_SUCCESS);
- }
Add Comment
Please, Sign In to add comment