Не могу закончить задачу с массивами
Вот моя задача:
В одномерном массиве, состоящем из п целых элементов, вычислить:
- минимальный по модулю элемент массива;
- сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине - элементы, стоявшие в нечетных позициях.
Я нашел минимум и хотел приступить ко второму условию, но не смог понять его. Как понять ,,расположенных ... равного нулю,,? А конец задачи вообще убил. Ничего в голову не лезит.
Вот код:
#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