Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 41, средняя оценка - 5.00
ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
#1

Рекурсивно вычислить произведение отрицательных элементов массива - C++

31.03.2012, 15:36. Просмотров 5371. Ответов 54
Метки нет (Все метки)

Написать рекурсивную функцию возвращающую произведение отрицательных элементов массива
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2012, 15:36     Рекурсивно вычислить произведение отрицательных элементов массива
Посмотрите здесь:
Вычислить произведение отрицательных элементов массива C++
C++ Вычислить произведение отрицательных элементов массива
Вычислить произведение отрицательных элементов массива C++
Вычислить произведение отрицательных элементов массива C++
C++ Вычислить произведение отрицательных элементов массива
C++ Вычислить произведение отрицательных элементов массива
C++ Вычислить произведение отрицательных элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
31.03.2012, 18:44     Рекурсивно вычислить произведение отрицательных элементов массива #31
go, еще раз поясню, что я имел в виду под общим случаем: допустим, у тебя есть последовательность произвольных элементов. Какое число нужно возвращать при суммировании (или перемножении, не суть важно), чтобы сигнализировать о том, что эта последовательность пустая?
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
31.03.2012, 18:47     Рекурсивно вычислить произведение отрицательных элементов массива #32
ну не как не 1
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
31.03.2012, 18:48     Рекурсивно вычислить произведение отрицательных элементов массива #33
Dani, ты видно совсем не в теме. Может, все-таки ответишь на вопрос?

Цитата Сообщение от Nameless One Посмотреть сообщение
вот что я не понял, так это то, как связано умножение _на_ ноль с умножением нуля множителей. Может ты объяснишь?
При перемножении пустой последовательности нуля вообще нигде нет (там и умножения-то по сути нет)!
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
31.03.2012, 18:48     Рекурсивно вычислить произведение отрицательных элементов массива #34
когда find ничего не находит, он возвращает npos. А там или 0 или очень большое число, 2в степени
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.03.2012, 18:49     Рекурсивно вычислить произведение отрицательных элементов массива #35
Nameless One, давайте будем объективны. Не хочу не с кем спорить, но если Вы можете написать более универсальную функцию, то ее нужно и писать. В данном случае, я могу сказать о своей функции:
  • Вернет 0, если в массиве отсутствуют отрицательные элементы.
  • Иначе вернет их произведение.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
31.03.2012, 18:51     Рекурсивно вычислить произведение отрицательных элементов массива #36
Цитата Сообщение от Dani Посмотреть сообщение
ну не как не 1
ну а какое тогда? И уточни, ты про суммирование или про умножение говоришь?

Цитата Сообщение от Dani Посмотреть сообщение
когда find ничего не находит, он возвращает npos. А там или 0 или очень большое число, 2в степени
при чем здесь find, а? Он у тебя уже суммировать или перемножать научился?

Добавлено через 1 минуту
go, и в чем же она «более универсальна»? И что ты в данном случае понимаешь под универсальностью?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.03.2012, 18:52     Рекурсивно вычислить произведение отрицательных элементов массива #37
Nameless One, у Вас же вернет единицу, и мы будем гадать, это отсутствие отрицательных элементов, или произведение четного числа минус единиц.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
31.03.2012, 18:52     Рекурсивно вычислить произведение отрицательных элементов массива #38
когда строка пустая, например,(пустое множество символов) он не найдет ничего (как не находит твоя функция произведение). В этом случае он вернет npos. npos на разных компиляторах разный, так и у вас результат, если чисел нет разный.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
31.03.2012, 19:00     Рекурсивно вычислить произведение отрицательных элементов массива #39
Цитата Сообщение от go Посмотреть сообщение
Nameless One, у Вас же вернет единицу, и мы будем гадать, это отсутствие отрицательных элементов, или произведение четного числа минус единиц.
у меня он вернет единицу, и это будет правильно с точки зрения определения произведения чисел. А у тебя вернет ноль, и, возможно, сломает код тех людей, которые на это определение полагались, ведь в задании про это ничего не сказано.

Цитата Сообщение от Dani Посмотреть сообщение
когда строка пустая, например,(пустое множество символов) он не найдет ничего (как не находит твоя функция произведение)
какая строка, при чем здесь поиск (для справки, я знаю, как работает функция find и в чем смысл значения std::string::npos)?
Цитата Сообщение от Dani Посмотреть сообщение
npos на разных компиляторах разный, так и у вас результат, если чисел нет разный.
и для действительных чисел тоже npos, ага?

Почему бы просто не выбросить в таком случае исключение, если нас так заботит случай с пустой последовательностью?
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,501
31.03.2012, 19:01     Рекурсивно вычислить произведение отрицательных элементов массива #40
Цитата Сообщение от Nekto Посмотреть сообщение
Мне кажется, что особый случай надо просто отдельно описать и выводить сообщение об этом
Вот это по-моему самое правильное решение.
DoZZer_
11 / 11 / 1
Регистрация: 09.08.2011
Сообщений: 53
31.03.2012, 19:01     Рекурсивно вычислить произведение отрицательных элементов массива #41
Dani,
go, Хотите усложнить код, - усложняйте, но абсолютная универсальность никогда к добру не приводила. Чем проще код и чем точнее он выполняется то, что перед ним поставлено, тем он лучше. А задачи сигнализировать о недостатке значений перед нами не стоит.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
31.03.2012, 19:03     Рекурсивно вычислить произведение отрицательных элементов массива #42
DoZZer_, если бы STL делали не универсальным - им бы никто не пользовался.
DoZZer_
11 / 11 / 1
Регистрация: 09.08.2011
Сообщений: 53
31.03.2012, 19:07     Рекурсивно вычислить произведение отрицательных элементов массива #43
Dani, если мы сейчас во все функции будем пихать "универсальность", то у нас получится просто КУЧА никому не нужных действий, которые "авось понадобятся в n-м варианте развития событий". И модифицировать этот код станет попросту невозможным.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
31.03.2012, 19:09     Рекурсивно вычислить произведение отрицательных элементов массива #44
DoZZer_, если будет 100 вариантов, которые надо учесть - это одно.
а 1 if - это другое
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 19:11     Рекурсивно вычислить произведение отрицательных элементов массива
Еще ссылки по теме:
Вычислить сумму отрицательных элементов массива и произведение элементов, расположенных между максимальным и минимальным элементами C++
В одномерном массиве вычислить сумму отрицательных элементов, произведение элементов массива между максимальным и минимальным элементами C++
C++ Работа с одномерными массивами (вычислить произведение отрицательных элементов массива.)
C++ Вычислить произведение первого элемента массива на количества отрицательных элементов
Вычислить произведение отрицательных элементов массива, расположенных в строках с нечетными номерами C++

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

Или воспользуйтесь поиском по форуму:
DoZZer_
11 / 11 / 1
Регистрация: 09.08.2011
Сообщений: 53
31.03.2012, 19:11     Рекурсивно вычислить произведение отрицательных элементов массива #45
Dani, изволю не согласиться с вами, и окончить этот холивар ))
Yandex
Объявления
31.03.2012, 19:11     Рекурсивно вычислить произведение отрицательных элементов массива
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru