Условие
В массиве C(m) заменить каждый третий элемент полусуммой двух предыдущих, а стоящий перед ним – полусуммой соседних с ним элементов.
Решение
Задаем массив и вводим элементы массива. Задавать массив менее чем из трех элементов не имеет смысла, поэтому проверяем количество элементов. Пересчитываем каждый третий элемент, запоминая сначала значение стоящего перед ним, который также отдельно пересчитываем.
Код
Ссылка на Ideone.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main ( String[] arg s ) { Scanner in = new Scanner( System.in ); int n = in.nextInt(); int[] array = new int[n]; if(n >= 3) { for( int i = 0; i < n; i++ ) array[i] = in.nextInt(); for( int i=2; i<n; i=i+3 ) { int elem = array[i-1]; array[i-1] = ( array[i-2] + array[i] ) / 2; array[i] = ( array[i-2] + elem ) / 2; } String ArrayString = Arrays.toString(array); System.out.print( ArrayString ); } else System.out.print( "Try again" ); } } |
Тест
Входные данные | Выходные данные | |
Размер массива | Элементы | |
4 | 2 7 4 1 | 2.0, 3.0, 4.5, 1.0 |
2 | 5 8 | Try again |
После последнего else либо фигурные скобки, либо единственный оператор в той же строке.
Исправила