1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|
1 | |
Рекурсивно вычислить произведение отрицательных элементов массива31.03.2012, 15:36. Показов 10756. Ответов 54
Метки нет (Все метки)
0
|
31.03.2012, 15:36 | |
Ответы с готовыми решениями:
54
Вычислить произведение отрицательных элементов массива Вычислить произведение отрицательных элементов массива Вычислить произведение отрицательных элементов массива Вычислить произведение отрицательных элементов массива |
12 / 12 / 1
Регистрация: 09.08.2011
Сообщений: 53
|
||||||
31.03.2012, 16:07 | 2 | |||||
Сообщение было отмечено Памирыч как решение
Решение
4
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|
31.03.2012, 16:28 [ТС] | 3 |
DoZZer_, спасибо за ответ.
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
31.03.2012, 16:39 | 4 | |||||
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||||||
31.03.2012, 16:46 | 5 | |||||
Сообщение было отмечено как решение
Решение
Добавлено через 45 секунд Nameless One, а если нет отрицательных?
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
31.03.2012, 16:58 | 6 |
как и положено, вернет единицу — нейтральный элемент по умножению. А что, должен быть другой результат?
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
31.03.2012, 17:33 | 8 |
конечно
я согласился бы, если бы это бы это было в задании. Но так как про это ничего не сказано, при свертке последовательности должен возвращаться нейтральный элемент. Вот скажи, к примеру, какое число должно возвращаться при суммировании пустой последовательности?
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
31.03.2012, 17:46 | 10 |
Dani, где такое сказано?
0
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|
31.03.2012, 17:47 | 11 |
первый аргумент складывается столько раз, сколько показывает второй
Если аргументов 0, то результат сложения 0 по идее. Мне кажется, что особый случай надо просто отдельно описать и выводить сообщение об этом
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
31.03.2012, 17:52 | 12 |
Nekto, у нас с Dani вообще-то речь про произведение идет. И да:
как ни странно, если аргументов ноль, то ни одной операции сложения вообще не происходит. Но возвращается ноль. А почему? Потому, что ноль — это нейтральный элемент (identity) для операции сложения. И это логично.
0
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|
31.03.2012, 17:55 | 13 |
"В арифметике под умножением понимают краткую запись суммы одинаковых слагаемых." (с) википедия
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
31.03.2012, 17:59 | 14 |
Nekto, круто. А теперь скажи, как связано выражение
с выражением для ? Я что-то при нахождении произведения элементов [пустой] последовательности нигде не вижу умножения на ноль. И где мы при этом пользуемся этим правилом: ?
0
|
31.03.2012, 18:04 | 15 |
Nameless One, встречно: где сказано, что 1?
Добавлено через 2 минуты Nekto, хотел сказать, что из начально курса арифметики известно, что a*b = a+a+a... b раз. Следовательно, если a=0, b=2. У 2 детей есть 0 яблок. Всего яблоко 1 чтоли?
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
31.03.2012, 18:11 | 16 |
Nameless One, исходя из условия, очевидно, что существует только одно число, которого мы не при каких раскладах не получим - это число 0. (Если в массиве присутствует хотя бы один отрицательный элемент). Из этого следует, что число 0 мы можем использовать для обозначения, какой-нибудь ситуации(ошибочной и т.д.). В данном случае мы используем его, как признак отсутствия отрицательных элементов. Да и по смыслу это подходит.
0
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|
31.03.2012, 18:13 | 17 |
ИМХО если элементов нету, то это равносильно умножению пустого множества на пустое множество, что на выходе должно давать пустое множество, а не нейтральный элемент.
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
31.03.2012, 18:22 | 18 | |||||
Dani, потому, что единица — это нейтральный элемент по умножению (о чем я уже говорил).
Вот пара примеров. Haskell, считающийся «академичным» языком программирования:
Код
[~/samples/c]$ prod([1 2 3]) ans = 6 [~/samples/c]$ prod([]) ans = 1 [~/samples/c]$
Добавлено через 48 секунд это твои домыслы. Несогласен — аргументируй. Я свою позицию по этому утверждению изложить могу. И да, что под умножением подразумевается? Декартово произведение? Добавлено через 4 минуты если это присутствует в задании — Б-га ради. Я говорил про то, что в общем случае таких ситуаций не существует
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
31.03.2012, 18:25 | 20 |
Вот тут и оно. Следует решать задачи в общем случае, т.е. использовать признак отсутствия отрицательных элементов. Если сделать оговорку, что в массиве обязательно есть хотя бы 1 отрицательный элемент, тогда да. Но как я уже отметил выше, задачи необходимо решать в общем случае.
0
|
31.03.2012, 18:25 | |
31.03.2012, 18:25 | |
Помогаю со студенческими работами здесь
20
Вычислить произведение отрицательных элементов массива Вычислить произведение отрицательных элементов массива Вычислить произведение отрицательных элементов массива вычислить произведение и количество отрицательных элементов массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |