Мне нужно написать функцию, которая принимает элементы в массиве и меняет знак (например, 3 -> -3 или -3 -> 3).Дело в том, что мне нужно изменить все значения, кроме первых 3 целых чисел в массиве, а затем отобразить весь массив с неизмененными и измененными значениями.Вот мой код
#include<stdio.h>
#include<stdlib.h>
void change_sign(int x[], int n)
{
int *ptr[n];
int i;
for(i = 0; i < n; i++)
{
ptr[i] = &x[i+3];
}
for(i = 0; i < n; i++)
{
x[i] = *ptr[i] * (-1);
printf("%d\n", x[i]);
}
}
int main()
{
int arr [10] = {-5, 13, -2, 5, 8, -54, 82, -4, 9, -43};
change_sign(arr, 10);
return 0;
}
Это, очевидно, не работает, он показывает только измененные числа и некоторые случайные числа в конце.Любая помощь будет принята с благодарностью.