let x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
for(let i = 0;i<x.length; i++){
if(i % 2 == 0){
console.log(i/3)//не знаю правильно ли???
}
}
задан 29 янв 2020 в 22:28
VahanVahan
4832 серебряных знака14 бронзовых знаков
1
let x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
var count = 0;
var summ = 0;
for(let i = 0;i<x.length; i++){
if(x[i] % 2 == 0){ //Тут берём число и проверяем чётное ли. i у Вас это ключ
count += 1; // Если чётное считаем сколько чётных цифр
summ += x[i]; // Если чётно считаем сумму чётных
}
}
var itog = summ / count; // Выводим среднее - делим сумму на количество.
console.log(itog);
ответ дан 29 янв 2020 в 22:41
Denis640KbDenis640Kb
14k5 золотых знаков21 серебряный знак45 бронзовых знаков
Станислав1234 0 / 0 / 0 Регистрация: 26.09.2018 Сообщений: 55 |
||||
1 |
||||
Вычислить среднее арифметическое нечетных элементов массива09.12.2020, 18:27. Показов 9400. Ответов 2 Метки c++ (Все метки)
В одномерном массиве, состоящем из n действительных элементов,
Выводит не средние значение , а что-то непонятное.
0 |
Biven 40 / 23 / 17 Регистрация: 03.12.2020 Сообщений: 52 |
||||||||
09.12.2020, 19:15 |
2 |
|||||||
for (int i = 0; i < n; i++) Станислав1234, ошибка в этой части, у вас k не в условии, поэтому оно считает все элементы. Его надо внести в условный оператор. Вот так:
Добавлено через 4 минуты
1 |
Yetty 7427 / 5021 / 2891 Регистрация: 18.12.2017 Сообщений: 15,694 |
||||
09.12.2020, 19:40 |
3 |
|||
Biven, для целочисленного массива у Вас неправильно:
sum / k т.к. целочисленное деление но по условию:
состоящем из n действительных элементов Добавлено через 10 минут
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
09.12.2020, 19:40 |
3 |
Формулировка задачи:
Ребят помогите!
Дано натуральное число N и последовательность a1,a2,…,aN натуральных чисел, заданных с клавиатуры. Найти среднее арифметическое нечетных элементов массива. Решить задачу для N=10. .(3б.)
заранее спасибо!!!!!!
надо до 21,01,13!!
Код к задаче: «Найти среднее арифметическое нечетных элементов массива»
textual
Const n=10; Var a: Array[1..n] of Integer; i,k: Byte; s: Integer; BEGIN Writeln('Введите массив:'); For i:=1 to n do begin Readln(a[i]); If odd(a[i]) Then begin s:=s+a[i]; Inc(k); end; end; Writeln('Ср. арифм. нечетных = ',s/k:2:2); Readln END.
Полезно ли:
5 голосов , оценка 4.000 из 5
Условие задачи: Массив А вводится с клавиатуры. Найти среднее арифметическое его элементов с нечетными номерами. Размер произвольный. (Язык Pascal)
Сложность: легкая.
Решение задачи
Для начала продумаем решение. Нам сказано найти среднее арифметическое элементов массива с нечетными номерами, что это значит? Как вы знаете у массива каждое значение под своим номером, например:
mass[
1
] :=
32
;
mass[
2
] :=
43
;
Т.е. под номером 1 в массиве значение 32, под номером 2 значение 43, вот нам надо найти среднее арифметическое элементов массива с нечетными номерами, т.е. 1 3 5 и т.д.
Среднее арифметическое — это сумма всех элементов деленное на кол-во элементов, в нашем случаи сумма всех элементов с нечетными номерами деленное на их кол-во.
Массив мы будем вводить в самой программе, т.е. введем число, и проверим его номер, если он нечетный тогда этот элемент занесем в сумму, чтобы потом найти среднее арифметическое.
Для того чтобы решить задачу нам понадобятся следующие переменные:
Начнем мы с каркаса нашей программы
type
massiv =
array
[
1..1000
]
of
integer
;
// создаём свой тип данных для массива
var
mass : massiv;
// объявляем переменные
i, n, summa, count :
integer
;
// объявляем переменные
sred :
real
;
// объявляем переменные
begin
write
(
'Введите длину массива : '
);readln(n);
// просим пользователя ввести длину массива
readln;
// чтобы программа не закрывалась
end
.
Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ), попросили пользователя ввести кол-во элементов массива.
Теперь надо заполнять массив вручную, заполняется массив в цикле, как только мы введем число, нам надо проверить его номер на нечетность с помощью условия и операции mod, как это делается читайте (тут) и если номер нечетный то мы просто увеличиваем общую сумму чисел с нечетными номерами и их кол-во:
for
i:=
1
to
n
do
// делаем цикл для заполнения массива
begin
write
(
'Введите '
, i ,
' элемент : '
);readln(mass[i]);
// заполняем массива вручную
if
(i
mod
2
<>
0
)
then
// проверяем на нечетность номер элемента, если нечетный, то
begin
count := count +
1
;
// увеличиваем кол-во нечетных номеров
summa := summa + mass[i];
// и увеличиваем сумму
end
;
end
;
Теперь нам осталось поделить сумму на кол-во и мы найдем среднее арифметическое:
sred := summa / count;
// находим среднее арифметическое
Всё решение задачи Pascal
type
massiv =
array
[
1..1000
]
of
integer
;
// создаём свой тип данных для массива
var
mass : massiv;
// объявляем переменные
i, n, summa, count :
integer
;
// объявляем переменные
sred :
real
;
// объявляем переменные
begin
write
(
'Введите длину массива : '
);readln(n);
// просим пользователя ввести длину массива
for
i:=
1
to
n
do
// делаем цикл для заполнения массива
begin
write
(
'Введите '
, i ,
' элемент : '
);readln(mass[i]);
// заполняем массива вручную
if
(i
mod
2
<>
0
)
then
// проверяем на нечетность номер элемента, если нечетный, то
begin
count := count +
1
;
// увеличиваем кол-во нечетных номеров
summa := summa + mass[i];
// и увеличиваем сумму
end
;
end
;
sred := summa / count;
// находим среднее арифметическое
writeln
(
'Среднее арифметическое с нечетными номерами : '
, sred);
// выводим результат
readln;
// чтобы программа не закрывалась
end
.
Предыдущая
ПрограммированиеЗадачи по Pascal. Найти сумму элементов массива с четными номерами, произведение отрицательных элементов, количество нечетных элементов.
Следующая
ПрограммированиеЗадачи по Pascal. Найти произведение элементов, кратных 3 в массиве.
Алгоритмы
решения задач вычисления среднего
арифметического и среднего геометрического
элементов массива, удовлетворяющих
некоторому условию, представляют собой
комбинацию алгоритмов определения
количества элементов массива,
удовлетворяющих некоторому условию, и
вычисления суммы и произведения элементов
массива соответственно. Для вычисления
среднего арифметического необходимо
найти сумму и количество элементов,
удовлетворяющих поставленному условию.
А для вычисления среднего геометрического
надо найти произведение и количество
нужных элементов (определение среднего
геометрического нескольких чисел
приведено в разделе 6.1.3). Рассмотрим
особенности программной реализации
этих алгоритмов на примере задачи
вычисления среднего арифметического
четных элементов и среднего геометрического
нечетных элементов массива.
Объявляем
переменные, необходимые для решения
задачи. Переменные для хранения суммы
и произведения всегда будут иметь тот
же тип данных, что и элементы массива.
Dim summa, proiz As Integer
Переменные для хранения количества
четных (kol1)
и нечетных (kol2)
элементов массива, очевидно, будут иметь
целый тип.
Dim kol1, kol2 As Integer
Среднее арифметическое
получается в результате деления, поэтому
оно всегда имеет рациональный тип. То
же относится и к среднему геометрическому,
которое получается в результате
извлечения корня некоторой степени.
Dim arifm, geom As Single
Задаем начальные значения: для суммы –
ноль, для произведения – единица.
summa = 0
proiz = 1
До начала анализа элементов массива
оба количества полагаются равными нулю.
kol1 = 0
kol2 = 0
Организуем цикл для анализа элементов
массива. Элементы массива последовательно
пронумерованы от 0 до n.
Следовательно, счетчик цикла должен
изменяться в этом же диапазоне. Тогда
наi-м
шаге цикла мы будем обрабатывать элемент
массива с номеромi.
For i = 0 To n
На каждом шаге проверяем, является ли
очередной элемент массива четным числом.
Четные числа делятся на два без остатка.
Другими словами, для четных чисел остаток
при делении на два равен нулю.
If a(i) Mod 2 = 0 Then
Если
текущий элемент массива является четным
числом, то увеличиваем на единицу
количество четных элементов массива,
а к сумме добавляем значение элемента
массива.
kol1 += 1
summa += a(i)
Else
В противном случае, если элемент массива
является нечетным числом, мы увеличиваем
на единицу количество нечетных чисел,
а накопленное произведение умножаем
на значение текущего элемента массива.
kol2 += 1
proiz
*= a(i)
End If
Next
После окончания основного цикла
анализируем полученные результаты,
вычисляем значения среднего арифметического
и среднего геометрического, если это
возможно, и выводим ответы в окно списка.
Чтобы зрительно отделить исходные
данные от результатов вычислений, первым
делом выведем горизонтальную черту.
lstA.Items.Add(“——————————-“)
Анализируем количество четных чисел.
If kol1 = 0 Then
Если количество четных чисел равно
нулю, значит, в массиве нет ни одного
четного числа. В этом случае невозможно
вычислить их среднее арифметическое.
Поэтому вместо ответа надо вывести
поясняющий текст.
lstA.Items.Add(“Нет
четных”)
Else
В противном случае мы вычисляем среднее
арифметическое.
arifm = summa / kol1
Полученный результат мы выводим в окно
списка.
lstA.Items.Add(“Сред.
арифм. четных = ” + _
Str(arifm))
End If
Теперь анализируем количество нечетных
чисел.
If kol2 = 0 Then
Если количество нечетных чисел равно
нулю, значит, в массиве нет ни одного
нечетного числа. В этом случае невозможно
вычислить их среднее арифметическое.
Поэтому вместо ответа надо вывести
поясняющий текст.
lstA.Items.Add(“Нет
нечетных”)
Else
Иначе мы анализируем знак подкоренного
выражения.
If proiz > 0 Then
Если произведение нечетных чисел
положительно, то мы можем вычислить их
среднее геометрическое без дополнительных
преобразований.
geom = proiz ^ (1 / kol2)
Полученное значение выводим в окно
списка.
lstA.Items.Add(“Сред.
геом. нечетных = ” + _
Str(geom))
Else
В противном случае (если подкоренное
выражение отрицательное) мы должны
проверить четность степени корня.
If kol2 Mod 2 = 0 Then
Если требуется извлечь корень четной
степени, то задача вычисления среднего
геометрического не имеет решения, так
как извлечение корня четной степени из
отрицательного числа невозможно. Поэтому
вместо ответа выводим поясняющий текст.
lstA.Items.Add(“Невозможно
” + _
”
вычислить сред. геом.”)
Else
Иначе, если степень корня нечетная, то
для вычисления корня потребуется
составить арифметическое выражение. В
Visual Basic 2005 операция извлечения корня
произвольной степени определена только
для положительных подкоренных выражений.
Поэтому, когда необходимо извлечь корень
нечетной степени из отрицательного
числа, поступают следующим образом.
Корень извлекается из модуля подкоренного
выражения, а у полученного результата
знак меняется на противоположный.
geom
= -Math.Abs(proiz) ^ (1 / kol2)
Полученный результат выводим в окно
списка.
lstA.Items.Add(“Сред.
геом. ” + _
“нечетных
= ” + Str(geom))
End If
End If
End If
Полный
текст программы представлен в приложении
24. Примеры работы программы приведены
на рис. 39.
Рис. 39. Примеры работы программы
вычисления среднего арифметического
четных и среднего геометрического
нечетных элементов массива
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #