| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Неадекватный результат |
| Автор: Gadge 16.5.2009, 00:29 | ||
| Простое задание. На Visual C++ 2005. http://smages.com/6d/a5/6da5e1b2a5973bbe070aa4218513bf02.jpg.htm Проблема в том, что программа всегда выдаёт 0... =(( В чём ошибка?
|
| Автор: NightmareZ 16.5.2009, 00:40 |
| Дэбаггером пользоваться не пробывал? |
| Автор: Dmi3ev 16.5.2009, 01:09 | ||||||||
Первая глупость, которая уж очень бросается в глаза... это
и вот это ее использование...
вы знаете, что будет? Расскажу по колхозному, допустим после выполнения
*M или M[0] будет равно 5 (допустим) потом выполняется
*L или L[0] будет равно 7 (допустим), а теперь внимание вопрос, а чему равно *М или М[0]? 5 ? как бы не так оно будет равно 7!!! Остальное даже не смотрел... нет смысла... |
| Автор: artsb 16.5.2009, 01:10 | ||
Gadge, у тебя проблема в том, что ты в функции zapoln объявил массив как статический. В результате, после выполнения этих операций:
И M, и L, и C ссылаются на один и тот же массив. Потом в функции formula ты делаешь с ними какие-то операции. Я не разбирался какие (хочу спасть Добавлено @ 01:10 Dmi3ev, опередил. |
| Автор: Dov 16.5.2009, 03:00 | ||
так нужно, хотя бы:
|
| Автор: NightmareZ 16.5.2009, 03:58 | ||
|
| Автор: Gadge 16.5.2009, 11:50 |
| Всем откликнувшимся - спасибо. Насколько я понял: 1) вносим изменение, которое подсказал Dov 2) первый блок, в котором заполняется массив, берём из варианта который предложил NightmareZ . (что бы было 3 разных массива а не один.) В результате чего получаем вполне работующую прогу... Так? На первый взгляд вроде такой вариант работает вполне адекватно. |