Подробно . в закрытом ящике находится 64 карандаша, некоторые из них красного цвета. наугад вынимается один карандаш. сообщение "этот карандаш - не красный" несет 2 бита информации. сколько красных карандашей в ящике?
Объявим нужные переменные Нам потребуется sum(сумма), average(ср. арифм), i(для цикла), n(кол-во чисел), x(введенное значение), count(счетчик нечетных) Присваиваем переменной n(кол-во чисел) нужное значение. Обнуляем summ и count Организовываем ввод чисел с клавиатуры через цикл от 0 до n Внутри цикла делаем проверку на четность, примерно так: if x mod 2 = 1 then (mod 2 обозначает остаток от деление на 2) А здесь увеличиваем переменную sum = sum + x И счетчик count = count + 1
Теперь после того как все итерации пройдены Переменная sum хранит значение суммы нечетных чисел. А переменную average надо разделить на count. average = average / count Так мы получим ср. арифметическое для всех нечетных чисел.
//PascalABC //NaaMan var N, sum, num, i : integer; A : array[1..10000] of integer; SA : real; begin write('Укажите, сколько будет чисел > '); readln(N); write('Вводите элементы массива > '); // Обнуляем сумму sum := 0; // и количество искомых элементов num := 0; // Ввод элементов массива с одновременным подсчетом for i := 1 to N do begin // Ввод readln(A[i]); write('Ещё > '); // Если введённое нечётное, то if A[i] mod 2 = 1 then begin // добавляем к сумме sum := sum + A[i]; // и считаем их количество num := num + 1; end; // Это среднее арифметическое SA := sum / num; end;
writeln('Сумма элементов ', sum); writeln('Среднее арифметическое ', SA); end.