![]() |
|
Модераторы: bsa |
![]()
|
|
| kLASTER |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 14.9.2011 Репутация: нет Всего: нет |
После нахождения среднего арифм., это значение записывается в массив. Почему?
вот собственно код:
файл 2:
файл 3:
Во втором файле после поиска ср.арифм., если пройтись по массиву, то появляется в массиве значение среднего арифметического. Откуда? Я же не записываю это значение в массив?! Заранее спасибо!!! |
||||||
|
|||||||
| feodorv |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Как это откуда. Сами же используете "грязный хак", намеренно или нет: То есть в массиве sales 4 элемента. Далее: А тут почему-то уже предполагается 7. Далее: Здесь снова 4 (зачем только константа QUARTERS существует?). Далее:
А здесь снова 7. Хак грязный, потому что здесь фактически sales[4] есть average (который Вы успешно и печатаете), sales[5] есть max, и sales[6] есть min. Налицо выход за пределы массива в C-стиле, не факт что в C++ это допустимо. Довольно странно, что Вы не видите противоречия между значением константы QUARTERS и числом распечатываемых значений массива... Однако это не предел:
Вот тогда зачем тогда в подпрограмме setSales массив p предполагается из 7 (или более корректно, из 4) элементов??? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||
|
|||||||
| kLASTER |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 14.9.2011 Репутация: нет Всего: нет |
Верно, везде было условие i < QUARTERS, при поиске ответа на вопрос начал экспериментировать, так и осталось 7 и 3.
Почему average - sales[4]? Я сохраняю trush/QUARTERS в s.average. Т.е. никакие другие данные не должны попадать в массив. А здесь ср.ариф. в s.sales[5]? Вот мой результат: Откуда? |
|||
|
||||
| feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Потому что индекс в C/C++ отсчитывается от 0, а не от единицы.
Что мешает исправить? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |