diff --git a/histo.c b/histo.c index d540a35ca1d49109579ea81c94a636d6ffc6ead6..488524e3b93a874808308ad53bdd114c3001a233 100644 --- a/histo.c +++ b/histo.c @@ -9,6 +9,7 @@ int main() { srand(time(NULL)); size_t cycle_number = 3; size_t value = 0; + size_t multiply_value = 0; // Ask the user the size of the array size_t array_size = ask_array_size(); int *array = malloc(array_size * sizeof(int)); @@ -56,10 +57,19 @@ int main() { printf("Result array :\n"); print_array(result_sum_array, array_size); + // Create a fourth array that will stock the multiplication between the first array and a value from the user + int *result_mul_array = malloc(array_size * sizeof(int)); + printf("Multiply the first array with the following value : \n"); + scanf("%ld", &multiply_value); + multiply_array_with_value(array, array_size, result_mul_array, multiply_value); + printf("Result array after multiplication :\n"); + print_array(result_mul_array, array_size); + // Free the memory free(array); free(second_array); - free(result_array); + free(result_sum_array); + free(result_mul_array); return 0; } \ No newline at end of file diff --git a/unidimensional_array.c b/unidimensional_array.c index 0864ef3b9ea2743b66f52f4805224e42599582c0..2ca9b8d9a0cb114c8f2cc3320669c90c8dbb2d82 100644 --- a/unidimensional_array.c +++ b/unidimensional_array.c @@ -116,6 +116,12 @@ void compute_two_array(int* first_array, int* second_array, int* result_array, s } } +void multiply_array_with_value(int* array, size_t array_size, int* result_array, int value) { + for (size_t i = 0; i < array_size; i++) { + result_array[i] = array[i] * value; + } +} + void swap(int *x, int *y) { int tmp = *x; diff --git a/unidimensional_array.h b/unidimensional_array.h index f9a7fbea8e87c4555fc942a6c65c37905c11c8d8..14430d55d18930a4f44a8b85399e47352b0f8b30 100644 --- a/unidimensional_array.h +++ b/unidimensional_array.h @@ -25,6 +25,8 @@ size_t count_elements_in_array_lower_than_value(int* array, size_t array_size, i void compute_two_array(int* first_array, int* second_array, int* result_array, size_t array_size); +void multiply_array_with_value(int* array, size_t array_size, int* result_array, int value); + void print_array(int* array, size_t array_size); void swap(int *x, int *y);