Мне немного сложно создать функцию в C
, которая имеет 2 параметра, имя массива и его начальный размер, и проверяет массив на нечетные числа. Если он найдет один, он insert
будет его двойником прямо рядом с ним и переместит остальные элементы. Я знаю, как это сделать без функции, но с функцией это не работает. Программа запущена, но ничего не делает. Помогите, пожалуйста?
Пример. a[5]= {2, 5, 6, 8, 11};
a[7]={2, 5, 10, 6, 8, 11, 22}
Кроме того, функция не должна ничего возвращать, и массив индексируется от 0 до n-1.
Так выглядит моя функция.
void Insert(int v[], int *n)
{
int i,j;
for(i=*n-1; i>=0; i--) //passing through the array from right to left
{
if(v[i]%2==1) // if the element is odd
{
*n++; // grow the array size by 1
int double=v[i]*2;
for(j=*n-1; j>=i+1; j--) // move all elements in the right of the odd number to the right by 1 space
{
v[j+1]=v[j];
}
v[i+1]=double; // add the double value next space after the odd number.
}
}
}