|
![]() |
[включить плавающее окно] Вверх #1 |
![]() Автор темы Регистрация: 02.03.2011
|
Вылетает консольная программа на Си
Учусь программированию на Си. Пишу в среде dev-cpp.
Задание следующее: Для значений i=1, 2,..,n вычислить число сочетаний из n по i и занести результаты в массив С={С1,С2,..,Сn}, используя Ci= n!/(i!(n - i)!). Число n>0 ввести с клавиатуры. Полученный массив вывести на экран. Написал следующее: PHP код:
Последний раз редактировалось chajnik; 04.11.2015 в 12:07. |
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #2 |
![]() Регистрация: 29.06.2004
|
Последний раз редактировалось garniv; 04.11.2015 в 13:23. |
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #3 |
![]() Автор темы Регистрация: 02.03.2011
|
garniv
Боюсь это не для моего уровня знаний. Как связан обычный Си с фичами С++? |
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #4 |
![]() Регистрация: 29.06.2004
|
Цитата
(chajnik) »
Боюсь это не для моего уровня знаний
![]() http://www.cyberforum.ru/cpp-beginners/thread49951.html http://forum.developing.ru/showthrea...0-%D0%B2-Dev-C https://www.youtube.com/watch?v=kHFpzxMFB3E http://www.youtube.com/watch?v=Jq1WTkOlk3w http://cboard.cprogramming.com/cplus...cplusplus.html http://eilat.sci.brooklyn.cuny.edu/c...HowToDebug.htm Цитата
(chajnik) »
Как связан обычный Си с фичами С++?
Кстати, попробуй не только значения 1-10, а что-то побольше, например 99 - в результатах выводится что-то непонятное. Последний раз редактировалось garniv; 04.11.2015 в 14:49. |
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #5 |
![]() Автор темы Регистрация: 02.03.2011
|
garniv
Задачи мне ставит вуз. На лекциях нам объясняют только принцип работы массивов, методы сортировки этих массивов и тому подобное никак не связанное с грамотной структурой кода. Что такое дебаг я представляю, но как он работает нет. Насчет алертов (впервые слышу что это), я так понял это printf внутри цикла, например внутри цикла каждого факториала. Делал я так, значения получаются нормальные, проверял свой код вручную несколько раз, записывая на листочке результаты, тоже все нормально работает, а программа не хочет. |
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #6 |
![]() Автор темы Регистрация: 02.03.2011
|
Вот. Получается, что цифры выходят большие, можно сделать вывод, что сама формула не подходит для большого количества элементов.
|
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #7 |
![]() Регистрация: 29.06.2004
|
В общем, методом проб: ошибка в том что не определяется размерность массива, т.к. его объявление происходит до присвоения значения переменной n.
А вот если сделать так, то программа считает вплоть до n=34: PHP код:
PHP код:
PHP код:
Кстати, после n=59 значения A[i] почему-то начинают округляться. СПОЙЛЕР »
Но думаю с этим ты разберешься уже самостоятельно Укажите размерность массива А[n], введя n с клавиатуры (n > 0): 140
1.0 140.0 9730.0 447580.0 15329615.0 416965528.0 9381724380.0 179593009560.0 2985733783935.0 43790762164380.0 573658984353377.9 6779606178721738.0 72880766421258608.0 717595238609315580.0 6509613950241650700.0 54680757182029898000.0 427193415484608540000.0 3115999030593615000000.0 21292660042389705000000.0 136721290798502310000000.0 827163809330938050000000.0 4726650339033936900000000.0 25566881379319941000000000.0 131169217511293600000000000.0 639449935367556050000000000.0 2967047700105462200000000000.0 13123480212004927000000000000.0 55410249784020779000000000000.0 223619936628369500000000000000.0 863635617323357910000000000000.0 3195451784096427800000000000000.0 11338699879051828000000000000000.0 38622446463020312000000000000000.0 126400733878975650000000000000000.0 397790544854422980000000000000000.0 1204737078701966900000000000000000.0 3513816479547402900000000000000000.0 9876673347917031800000000000000000.0 26770983021985635000000000000000000.0 70016417134423956000000000000000000.0 176791453264420430000000000000000000.0 431198666498586590000000000000000000.0 1016396856746668200000000000000000000.0 2316439347934266000000000000000000000.0 5106695835218727900000000000000000000.0 10894284448466612000000000000000000000.0 22499065708789757000000000000000000000.0 44998131417579515000000000000000000000.0 87183879621560277000000000000000000000.0 163692182146602900000000000000000000000.0 297919771506817620000000000000000000000.0 525740773247324590000000000000000000000.0 899825554211767560000000000000000000000.0 1494049976804444600000000000000000000000.0 2407080518184936100000000000000000000000.0 3763798628434630400000000000000000000000.0 5712908632445418600000000000000000000000.0 8419023247814298600000000000000000000000.0 12047912578768738000000000000000000000000.0 16744556465407399000000000000000000000000.0 22605151228299995000000000000000000000000.0 29646099971540965000000000000000000000000.0 37774869318576422000000000000000000000000.0 46768885822999352000000000000000000000000.0 56268815755796099000000000000000000000000.0 65791230729853892000000000000000000000000.0 74762762193015795000000000000000000000000.0 82573797049002513000000000000000000000000.0 88645399773193853000000000000000000000000.0 92499547589419727000000000000000000000000.0 93820969697840016000000000000000000000000.0 92499547589419765000000000000000000000000.0 88645399773193950000000000000000000000000.0 82573797049002513000000000000000000000000.0 74762762193015814000000000000000000000000.0 65791230729853930000000000000000000000000.0 56268815755796138000000000000000000000000.0 46768885822999381000000000000000000000000.0 37774869318576422000000000000000000000000.0 29646099971540999000000000000000000000000.0 22605151228300005000000000000000000000000.0 16744556465407416000000000000000000000000.0 12047912578768745000000000000000000000000.0 8419023247814304600000000000000000000000.0 5712908632445423400000000000000000000000.0 3763798628434634100000000000000000000000.0 2407080518184939500000000000000000000000.0 1494049976804444900000000000000000000000.0 899825554211767560000000000000000000000.0 525740773247325270000000000000000000000.0 297919771506817540000000000000000000000.0 163692182146602940000000000000000000000.0 87183879621560352000000000000000000000.0 44998131417579505000000000000000000000.0 22499065708789757000000000000000000000.0 10894284448466619000000000000000000000.0 5106695835218726800000000000000000000.0 2316439347934267800000000000000000000.0 1016396856746668800000000000000000000.0 431198666498586880000000000000000000.0 176791453264420510000000000000000000.0 70016417134423984000000000000000000.0 26770983021985649000000000000000000.0 9876673347917031800000000000000000.0 3513816479547405200000000000000000.0 1204737078701967600000000000000000.0 397790544854423410000000000000000.0 126400733878975580000000000000000.0 38622446463020321000000000000000.0 11338699879051840000000000000000.0 3195451784096426700000000000000.0 863635617323359030000000000000.0 223619936628369780000000000000.0 55410249784020823000000000000.0 13123480212004925000000000000.0 2967047700105462800000000000.0 639449935367556460000000000.0 131169217511293620000000000.0 25566881379319950000000000.0 4726650339033939000000000.0 827163809330939530000000.0 136721290798502390000000.0 21292660042389713000000.0 3115999030593616600000.0 427193415484608680000.0 54680757182029922000.0 6509613950241656800.0 717595238609316480.0 72880766421258704.0 6779606178721740.0 573658984353378.0 43790762164380.0 2985733783935.0 179593009560.0 9381724380.0 416965528.0 15329615.0 447580.0 9730.0 140.0 Для продолжения нажмите любую клавишу . . . ![]() Последний раз редактировалось garniv; 04.11.2015 в 20:11. |
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #8 |
![]() Автор темы Регистрация: 02.03.2011
|
garniv
Благодарю, никогда бы не посетила мысль, что не заданная переменная, определяющая размерность массива, может так отразиться на работе программы. |
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #9 |
![]() Регистрация: 31.10.2018
Адрес: Мюнхен, Германия
|
Надеюсь это не сарказм сейчас был. Потому что размер массива это основная его состовляющая, что оно должно было выделить, код ASCII буквы n?
|
![]() |
![]() |
![]() |
[включить плавающее окно] Вверх #10 |
![]() Регистрация: 06.09.2003
Адрес: Москва
|
skibidi
Это "сейчас" произошло 3 года назад ![]()
__________________
ПУК - Последняя Удачная Конфигурация. (с) veroni4ka |
![]() |
![]() |