From 3b703fb89a48ae32ab00eb301846f506f9550496 Mon Sep 17 00:00:00 2001 From: Dario Genga <dario.genga@etu.hesge.ch> Date: Mon, 15 Nov 2021 21:44:48 +0100 Subject: [PATCH] Add method to multiply an array with a value The value is given by the user. --- histo.c | 12 +++++++++++- unidimensional_array.c | 6 ++++++ unidimensional_array.h | 2 ++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/histo.c b/histo.c index d540a35..488524e 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 0864ef3..2ca9b8d 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 f9a7fbe..14430d5 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); -- GitLab