Разработать функцию map - C (СИ)
Формулировка задачи:
Разработать функцию map, которая позволяет все отрицательные значения заменить на те же положительные значения в массиве целых чисел. Функция map получает в качестве аргументов массив, его размер, указатель на функцию cut. Функция cut применяется ко всем элементам массива внутри функции map. Функция cut получает в качестве аргумента указатель на целое число, и, если это число оказывается отрицательным оно заменяется на тоже положительное число.
Протестировать разработанную функцию map.
Решение задачи: «Разработать функцию map»
textual
Листинг программы
#include <stdio.h>
void cut(int* const value)
{
if (*value < 0) *value = -(*value);
}
void map(int* const array, const size_t size, void (*replacementFunction)(int* const))
{
for (size_t i = 0; i < size; i++) replacementFunction(&array[i]);
}
int main(void)
{
int a[] = {-1, -2, -3, -4, -5, -6};
size_t N = sizeof(a) / sizeof(*a);
map(&a[0], N, cut);
for (size_t i = 0; i < N; i++) printf("%d ", a[i]);
return 0;
}