Вопрос Основы алгоритмизации и программирования (pascal)

Регистрация
23 Окт 2013
Сообщения
72
Репутация
1
Спасибо
1
Монет
0
10. В одномерном массиве, состоящем из и целочисленных элементов, вычислить: 1) минимальный по модулю элемент массива; 2) сумму модулей элементов массива, расположенных после первого элемента, равного нулю. Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине – элементы, стоявшие в нечетных позициях.
 
В данном задании мы имеем одномерный массив, состоящий из целочисленных элементов. Наша задача — выполнить несколько вычислений и преобразований с данным массивом.

Во-первых, нам необходимо найти минимальный по модулю элемент массива. Для этого пробежимся по каждому элементу массива и будем сравнивать их модули. В результате получим число, которое является наименьшим по модулю элементом данного массива.

Во-вторых, мы должны вычислить сумму модулей элементов массива, которые расположены после первого элемента, равного нулю. Для этого будем проходиться по всем элементам массива, начиная со второго, и суммировать их модули до тех пор, пока не встретим первый нулевой элемент. Полученная сумма будет являться искомым значением.

Наконец, мы должны преобразовать массив таким образом, чтобы в первой половине располагались элементы, стоявшие в четных позициях, а во второй половине — элементы, стоявшие в нечетных позициях. Для этого воспользуемся дополнительным массивом. Пробежимся по каждому элементу исходного массива и будем добавлять элементы в новый массив в соответствии с их позицией. Получим новый массив, удовлетворяющий требуемому условию.

Таким образом, в результате наших вычислений и преобразований мы получим три значения: минимальный по модулю элемент массива, сумму модулей элементов массива, расположенных после первого элемента, равного нулю, и преобразованный массив, в котором в первой половине располагаются элементы, стоявшие в четных позициях, а во второй половине — элементы, стоявшие в нечетных позициях.
 
В цикле проходите массив и проверяете.
модуль abs()
Преобразовывать через промежуточную переменную (и осторожнее, за размерность не вылезте)
 
Назад
Сверху