Skip to content
Snippets Groups Projects
Select Git revision
  • 96d65664dec57133e2a6d2cbf55d959be1968193
  • master default protected
  • dev
  • docker-issue-ok
  • design
  • DojoHepia-v1.0
  • DojoHepia-v0.5
  • DojoHepia-v0.4.5
  • DojoHepia-v0.4
  • DojoHepia-v0.3
  • DojoHepia-v0.2
  • DojoHepia-v0.1
12 results

program-create.component.scss

Blame
  • Forked from alexandr.vanini / dojo-hepia
    Source project has a limited visibility.
    unidimensional_array.c 2.29 KiB
    /* Author : Dario GENGA
     * Date : 15.11.2021
     * Description : Manipulate an unidimensional array with dynamic memory allocation
     */
    
    #include "unidimensional_array.h"
    #include <stdio.h>
    #include <time.h>
    
    size_t ask_array_size() {
        size_t array_size = 0;
        printf("Size of the array : \n");
        scanf("%ld", &array_size);
        return array_size;
    }
    
    void shuffle_array(int* array, size_t array_size) {
        for (size_t i = 0; i < array_size; i++)
        {
            int index1 = rand() % (int)array_size;
            int index2 = rand() % (int)array_size;
            swap(&array[index1], &array[index2]);
        }
    }
    
    void fill_array_with_random_values(int* array, size_t array_size) {
        // Fill the array with all values from 0 to its size - 1
        for (size_t i = 0; i < array_size; i++)
        {
            array[i] = i;
        }
    
        // Then shuffle the array
        shuffle_array(array, array_size);
    }
    
    
    void perform_cyclic_permutation(int* array, size_t array_size, size_t cycle_number) {
        int *array_tmp = malloc(array_size * sizeof(int));
    
        for (size_t i = 0; i < array_size; i++) {
            size_t tmp_index = (i + cycle_number) % array_size;
            array_tmp[tmp_index] = array[i];
        }
    
        for (size_t i = 0; i < array_size; i++) {
            array[i] = array_tmp[i];
        }
    
        free(array_tmp);
    }
    
    void print_array(int* array, size_t array_size) {
        printf("[");
        for (size_t i = 0; i < array_size; i++)
        {
            printf("%d", array[i]);
            if (i + 1 < array_size) {
                printf(" , ");
            }
        }
        printf("]\n");
    }
    
    int find_lowest_value_in_array(int* array, size_t array_size) {
        int lowest_value;
    
        for (size_t i = 0; i < array_size; i++) {
            if (i == 0) {
                lowest_value = array[i];
            } else if (array[i] < lowest_value) {
                lowest_value = array[i];
            }
        }
        return lowest_value;
    }
    
    int find_index_highest_value_in_array(int* array, size_t array_size) {
        int highest_value;
        size_t index_highest_value = 0;
    
        for (size_t i = 0; i < array_size; i++) {
            if (i == 0) {
                highest_value = array[i];
            } else if (array[i] > highest_value) {
                highest_value = array[i];
                index_highest_value = i;
            }
        }
        return index_highest_value;
    }
    
    void swap(int *x, int *y)
    {
        int tmp = *x;
        *x = *y;
        *y = tmp;
    }