Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 13.09.2019
Сообщений: 4

Найти среднее арифметическое нечётных чисел.

13.09.2019, 14:16. Показов 2456. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пользователь должен ввести 3 целых числа. Программа должна найти среднее из нечетных. То есть если пользователь ввел 3 10 7 , программа считает (3+7)/2=5
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.09.2019, 14:16
Ответы с готовыми решениями:

Среднее арифметическое 8-ми чисел и мин/макс
Здравствуйте. Написал скрипт рассчитывающий среднее арифмитическое 8-ми чисел и мин/макс вводимых чисел. Как сделать так чтобы числа...

Запросить последовательность чисел и вывести среднее арифметическое четных элементов
Напишите пожалуйсто код Напишите скрипт, который запрашивает последовательность чисел и выводит в окне браузера, среднее...

вводим два числа. считаем среднее арифметическое всех чисел которые не делятся на 2
вводим два числа. считаем среднее арифметическое всех чисел которые не делятся на 2

6
 Аватар для Egor.S
215 / 180 / 79
Регистрация: 02.10.2011
Сообщений: 651
13.09.2019, 14:50
https://jsfiddle.net/mortyyy/3wvn6mrz/14/
JavaScript
1
2
3
4
5
6
7
8
9
const a = prompt('Введите первое число')
const b = prompt('Введите второе число')
const c = prompt('Введите третье число')
 
const odds = [a, b, c].filter((num, i, arr) => num % 2);
 
const sum = odds.reduce((acc, curr) => acc + Number(curr), 0);
 
alert(sum / odds.length);
2
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
13.09.2019, 16:57
cvetkovvv, Egor.S, здравствуйте.
Вариант без массивов. Вдруг мы массивы ещё не проходили?
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        function* input() {
            yield parseInt(prompt('Введите первое число'));
            yield parseInt(prompt('Введите второе число'));
            yield parseInt(prompt('Введите третье число'));
        }
 
        function* where(/*IEnumerable<TSource>*/ source, /*Func<TSource,bool>*/ predicate) {
            for (let element of source) {
                if (predicate(element))
                    yield element;
            }
        }
 
        function average(/*IEnumerable<TSource>*/ source, /*Func<TSource, TResult>*/ selector) {
            let res = 0,
                count = 0;
            if (selector)
                for (let v of source) {
                    let v2 = selector(v);
                    if (Number.isFinite(v2)) {
                        res += v2;
                        ++count;
                    }
                }
            else
                for (let v of source) {
                    if (Number.isFinite(v)) {
                        res += v;
                        ++count;
                    }
                }
            if (count)
                return res / count;
            // throw new Error("No elements");
            return null; // Вариант SQL
        }
 
        alert(average(where(input(), e => (e % 2))));
    </script>
</body>
</html>
Современная технология ленивых вычислений без использования промежуточных массивов. Как в Python.
1
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
16.09.2019, 17:24
Цитата Сообщение от Egor.S Посмотреть сообщение
const odds = [a, b, c].filter((num, i, arr) => num % 2);
Можно где-то(в книге, например) посмотреть такие штуки, чтобы разобратся? насколько я понимаю [a, b, c].filter(..) тут идет поток данных массива и потом он фильтруется по аргументу(предикату), но там аж 3 параметра! Я не знаю JS но пытаюсь быть на уровне хотя бы чтения. Те книги (я их не читал) что я нашел так там даже по поиску слова "filter" ничего нет. Спасибо.

Цитата Сообщение от amr-now Посмотреть сообщение
alert(average(where(input(), e => (e % 2))));
хотел поинтересоваться, у вас average в объявлении ждет 2 аргумента, а тут один. И function* со звездочкой интересно что означает. Не подскажете эти моменты в 2-х словах, если можете. Интересуюсь для общего развития. Спасибо.
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
16.09.2019, 18:11
Цитата Сообщение от ViktorFX Посмотреть сообщение
он фильтруется по аргументу(предикату), но там аж 3 параметра
Цитата Сообщение от ViktorFX Посмотреть сообщение
у вас average в объявлении ждет 2 аргумента, а тут один
https://learn.javascript.ru/fu... molchaniyu

Цитата Сообщение от ViktorFX Посмотреть сообщение
function* со звездочкой интересно что означает
https://learn.javascript.ru/generators

На самом деле в стиле языка Си 70-х годов прошлого века ответ должен быть таким:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        let array = [];
        for (let i = 0; i < 3; i++) {
            let element = parseInt(prompt("Введите " + (i + 1) + " число:"));
            array[i] = element;
        }
 
        let sum = 0,
            count = 0;
        for (let i = 0; i < 3; i++) {
            let element = array[i];
            // Битовое "И" с единицей для целого числа дает 1 для нечетного, то есть true, 
            // и 0 для четного, то есть false
            if (element & 1) {
                sum += element;
                ++count;
            }
        }
        let average,
            str;
        if (count) {
            average = sum / count;
            str = "Cреднее из нечетных: " + average;
        }
        else {
            str = "Нечетных элементов нет. Соответственно, среднего из них нет";
        }
        alert(str);
    </script>
</body>
</html>
Это самый кошерный олдскульный ответ.
Предыдущими двумя ответами мы с Egor.S извращались.
1
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
16.09.2019, 22:51

Не по теме:

Блин, что-то не зашло..

JavaScript
1
2
3
4
5
6
7
8
9
10
11
function getPrompt(n) {
    var myPrompt =0, i=0, j=0;
    for( var p=1; p<=n; p++) {
        if(!((j = prompt('Input your '+p+' number')) %2 == 0)) {
        myPrompt += j;
          i++;
        }
      }
      return myPrompt/i;
    }
alert(getPrompt(3));



Добавлено через 7 минут
myPrompt += Number(j);
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
17.09.2019, 04:21
ViktorFX, у Вас классический пример избыточной оптимизации. Тоже явление из 70-х годов прошлого века.
Поставим задачу по-другому:
"В локальном файле в XML находятся 3 целых числа. Программа должна найти среднее из нечетных."

"В JSON-файле в интернете находятся 3 целых числа. Программа должна найти среднее из нечетных."

Или программу переписывать с нуля. Или переписывать один компонент программы. Разница.
В 70-х годах прошлого века некоторые программисты считали - чем короче и непонятней программа, тем лучше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.09.2019, 04:21
Помогаю со студенческими работами здесь

Ввести 10 вещественных чисел и найти среднее арифметическое
Задача состоит в вводе 10 вещественных чисел из формы и в последующем поиске среднего арифметического положительных чисел....

Найти среднее арифметическое нечетных чисел элементов массива.
Найти среднее арифметическое нечетных чисел элементов массива. Ввод с клавиатуры

Вычислить среднее арифметическое чисел
Помогите, пожалуйста, с заданием по JavaScript. Нужно создать метод с названием &quot;calculate&quot;, который, в качестве параметров принимает...

Найти среднее арифметическое слагаемых
Всем здравствуйте. Как записать этот цикл. Пользователь вводит числа пока не нажмет отмену(количество чисел которые вводит пользователь...

В квадратной матрице найти среднее арифметическое
В квадратной матрице найти среднее арифметическое из элементов, расположенных над третьим строкой и левее третьего столбца.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru