0006 - нормально принимается -0 - нормально принимается, операция унарный минус 7,0 - как число не принимается, принимается как массив 7. - не принимается, нужно после точки указать ноль +0.3 - не принимается, нет операции унарный плюс .3 - не принимается, требует дописать нолик в начале, хотя в других средах может прокатить 2/3 - нормально принимается, хотя следует учитывать что в данном случае деление целочисленное Е-1 - не принимается, в Ruby нет такой записи числа 8Е0 - не принимается, в Ruby нет такой записи числа 0Е-4 - не принимается, в Ruby нет такой записи числа 2*Е5 - не принимается, в Ruby нет такой записи числа e - не принимается, считается необьвленной переменной
Овчинников_Грузман
11.05.2021
Собственно, решение однострочное...
// PascalABC.NET 3.0, сборка 1150 от 22.01.2016 begin Writeln('Ср.арифм=',ArrRandom(30,0,1000).Println(', '). Where(x->Odd(x)).Average) end.
И пояснение, как это работает, т.е. по сути алгоритм на русском языке. ArrRandom(30,0,1000) создает массив из 30 элементов и заполняет его случайными значениями из диапазона [0,1000]. Далее этот массив обрабатывается методом Println, который направляет значения элементов на вывод, разделяя их запятой с последующим пробелом и в конце вывода добавляет смену строки. Затем элементы массива проходят фильтр Where(x->Odd(x)), который пропускает через себя только те значения, которые удовлетворяют условию Odd(значение элемента)=True, а мы знаем, что Odd() возвращает True для нечетного аргумента. Далее фильтр элементы обрабатываются методом Average, который умеет принимать набор значений и возвращать их среднее. И наконец, процедура Writeln выводит полученное значение, предваряя его текстовым пояснением.
BelyaevNadezhda223
11.05.2021
Чтобы прекратить ввод чисел в массив нужно ввести число "-1". class ArrayMiddle{ public static void main(String args[]){ java.util.Scanner in = new java.util.Scanner(System.in); long eArray[] = new long[1]; while((eArray[eArray.length-1] = in.nextLong())!=-1){ long nArray[] = new long[eArray.length+1]; for(int nCell = 0; nCell<eArray.length; nCell++)nArray[nCell]=eArray[nCell]; eArray = nArray; } eArray[eArray.length-1] = 0; for(int cCell = 0; cCell<eArray.length-1; cCell++)eArray[eArray.length-1]+=eArray[cCell]; System.out.print(eArray[eArray.length-1]/(double)(eArray.length-1)); } }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Указать неправильные записи чисел: 0006 -0 7, 0 7. +0.3 .3 2/3 е-1 8е0 0е-4 2*е5 e
0006 - нормально принимается
-0 - нормально принимается, операция унарный минус
7,0 - как число не принимается, принимается как массив
7. - не принимается, нужно после точки указать ноль
+0.3 - не принимается, нет операции унарный плюс
.3 - не принимается, требует дописать нолик в начале, хотя в других средах может прокатить
2/3 - нормально принимается, хотя следует учитывать что в данном случае деление целочисленное
Е-1 - не принимается, в Ruby нет такой записи числа
8Е0 - не принимается, в Ruby нет такой записи числа
0Е-4 - не принимается, в Ruby нет такой записи числа
2*Е5 - не принимается, в Ruby нет такой записи числа
e - не принимается, считается необьвленной переменной