Ю4.18

Задача: В массиве [latex]Z(2n)[/latex] каждый элемент с чётным индексом поменять местами с предыдущим, то есть получить последовательность чисел [latex]z_{2}[/latex], [latex]z_{1}[/latex], [latex]z_{4}[/latex], [latex]z_{3}[/latex], \ldots ,[latex]z_{2n}[/latex], [latex]z_{2n-1}[/latex].

Тесты: 

[latex]n[/latex] Входной массив Обработанный массив
5 1 2 3 4 5 6 7 8 9 10 2 1 4 3 6 5 8 7 10 9
7 2 4 6 8 10 12 14 16 18 20 22 24 26 28 4 2 8 6 12 10 16 14 20 18 24 22 28 26

Код на С++: 

Код на Java:

 

 

Решение:  Для того, чтобы поменять местами чётный и нечётный по порядковому номеру элементы массива, надо определить чётность порядкового номера. Для этого надо проверить остаток от деления на 2, т.е если [latex]imod2=0[/latex], то меняем предыдущий элемент с текущим.

Для проверки правильности работы программы, воспользуйтесь ссылкой.

Related Images:

Ю4.28

Задача:
Каждый из элементов [latex]x_{i}[/latex]массива [latex]X(n)[/latex] заменить средним значением первых [latex]i[/latex] элементов этого массива.

Тесты

[latex]n[/latex] Input Output Result
2 11 7 11 9 Пройден
12 7 4 33 56 22 3 22 5 6 7 8 9 7 7 5.5 14.667 24.4 20.833 21 19 17.556 16.5 15.7273 15.1667 Пройден
1 136 136 Пройден
3 -1 1 0 1 0 0 Пройден

Программный код:

Задача достаточно простая, так что стадию анализа можно пропустить и перейти сразу к алгоритму решения.

Алгоритм решения
Заполнение массива происходит последовательно. Следовательно, замену можно производить на лету, сразу же после ввода каждого элемента, что и происходит в программе.

Детали реализации:
Для вывода массива на экран использован цикл в стиле С++11.

Реализация на Java: http://ideone.com/gMXpf6

Related Images: