Не могу закончить задачу с массивами

Вот моя задача:

В одномерном массиве, состоящем из п целых элементов, вычислить:

  1. минимальный по модулю элемент массива;
  2. сумму модулей элементов массива, расположенных после первого элемента, равного нулю.

Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине - элементы, стоявшие в нечетных позициях.

Я нашел минимум и хотел приступить ко второму условию, но не смог понять его. Как понять ,,расположенных ... равного нулю,,? А конец задачи вообще убил. Ничего в голову не лезит.

Вот код:

#include <stdio.h>
int main()
{
  int array[100], size, c, location = 0;

  printf("Enter number of elements in array\n");
  scanf("%d", &size);

  printf("Enter %d integers\n", size);

  for (c = 0; c < size; c++)
    scanf("%d", &array[c]);

  for (c = 1; c < size; c++)
    if (array[c] < array[location])
      location = c;


  printf("Minimum element is present at location %d and its value is %d.\n", location+1, array[location]);
  return 0;
}

Ответы (1 шт):

Автор решения: Zhihar

все просто

пример:

массив {3 1 4 1 5 9 2}

у 3 позиция 0 (четная)
у 1 позиция 1 (нечетная)
у 4 позиция 2 (четная)
у 1 позиция 3 (нечетная)

т.е. вам надо элементы на четных позициях разместить вначале, т.е.

3 4 5 2

а нечетные в конце массива

1 1 9

итого должно получиться

3 4 5 2 1 1 9
→ Ссылка