1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
||||||
1 | ||||||
Некорректная работа цикла for.10.05.2011, 17:32. Показов 1285. Ответов 17
Метки нет (Все метки)
Ниже приведен код программы, вычисляющей по заданному n значение n!. Прошу объяснить, почему программа выдает отрицательные числа порядка -10000 (результат не превышает 30000, и может быть выведен типом int). К сожалению, не нашел подобных тем на форуме, поэтому пришлось создать свою.
0
|
10.05.2011, 17:32 | |
Ответы с готовыми решениями:
17
Некорректная работа программы Некорректная работа _getch() Strftime некорректная работа Некорректная работа программы |
42 / 42 / 13
Регистрация: 04.01.2011
Сообщений: 125
|
||||||
10.05.2011, 17:38 | 2 | |||||
1
|
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
|
10.05.2011, 17:46 [ТС] | 3 |
К сожалению, это не помогло. По-прежнему выдаются те же самые левые результаты.
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
10.05.2011, 17:53 | 5 |
1.В какой системе работаешь?
2. Пусть a = 5. Тогда получаем: 5*1=5, 5*2=10, 10*3 = 30, 30*4 = 120. 5! = 120. 10! > 3600000, 14! > INT_MAX.
1
|
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
|
10.05.2011, 17:59 [ТС] | 6 |
Я проверял небольшие значения (от 3 до 5), т.к. этого вполне достаточно. В случае с unsigned long ошибка та же.
Пробовал запускать в turbo c++ 3.1, а также в Dev-с++.
0
|
Higher
|
||||||
10.05.2011, 18:02 | 7 | |||||
Попробуй так=)
Можешь значения побольше вводить, 1000 например
0
|
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
|
10.05.2011, 18:08 [ТС] | 8 |
diagon, спасибо, но при написании программы у меня была цель научиться использовать цикл for. Поэтому меня интересует возможно более короткое решение, а также причина, по которой программа, приведенная мной в 1 посте, отказывается работать.
0
|
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
|
10.05.2011, 18:13 [ТС] | 10 |
diagon, почему не достигла бы? Насколько я понимаю, цикл работает, пока j не равно a. После достижения этого значения он перестает выполняться...
0
|
Higher
|
|
10.05.2011, 18:19 | 14 |
Да я то помню, в конце 1й страницы моя реализация длинного факториала лежит...
Я проверял у себя, просто бесконечный цикл. Как у топикстартера что-то выводит, да еще и отрицательное, ума не приложу
0
|
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
|
10.05.2011, 18:23 [ТС] | 16 |
diagon, спасибо, я понял.
Программа из второго поста заработала в обеих средах. Благодарю всех за помощь.
0
|
В вечном поиске...
275 / 235 / 30
Регистрация: 05.04.2011
Сообщений: 645
|
||||||
10.05.2011, 18:28 | 17 | |||||
Попробуйте вот так-с:
И еще, у вас в цикле J было не равно а.
1
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||||||
11.05.2011, 19:26 | 18 | |||||
Ошибка-то почти классическая!
0
|
11.05.2011, 19:26 | |
11.05.2011, 19:26 | |
Помогаю со студенческими работами здесь
18
Некорректная работа rand() Некорректная работа программы Некорректная работа компилятора некорректная работа программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |