|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.01.2011, 01:21 | #1 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 109
|
C++ среднее значение или средне арифметическое
Есть задача.
Напишите программу, которая подсчитывает и печатает среднее значение нескольких целых чисел. Считайте, что последняя вводимая величина является контрольным значением 9999. Типичная входная последовательность может иметь вид 10 8 11 7 9 9999. Должно быть посчитано среднее значение чисел, предшествующих 9999. Среднее значение я так понял это Средне Арифметическое. Т.к. в этой задаче явно не рассчитывают Медиану. Вот код который я сделал(из расхода что это Средне Арифметическое с неопределенным кол-во цифр) Код:
П.С.: Изначально код пытался сделать на while и на do...while, числа выходили те же самые, что и в этом случае.
Я бы изменил мир, но бог не дает исходников (c)
И сказал мыслитель, напиши свою проблему на бумаге и ты увидишь свои ошибки. |
04.01.2011, 01:23 | #2 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 109
|
Нашел небольшой косяк. sum в типе int печатал астрономические числа. Сделал его типом double но средне арифметическое считает все равно не правильно. Из введенных 5 чисел получилась сумма 15, а средне арифметическое 2.
Код ниже Код:
Добавил так же отоброжение счета счетчика и суммы. Код ниже Код:
Я бы изменил мир, но бог не дает исходников (c)
И сказал мыслитель, напиши свою проблему на бумаге и ты увидишь свои ошибки. Последний раз редактировалось Donatello; 04.01.2011 в 01:46. Причина: исправление ошибок своих же |
04.01.2011, 01:41 | #3 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 199
|
программу не читал но сразу вижу что sum у тебя изначально не равен 0лю. ты ему плюсуешь и плюсуешь значения, но изначально у тебя там астрономическое число и сидит. При объявлении переменной она автоматом не обнуляется!
|
04.01.2011, 01:45 | #4 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 109
|
UltimaBeaR
во точно про это я и забыл спасибо. Но не мог бы ты посмотреть последний код, он вроде все правильно делает и компилятор на него не жалуется, но у меня такое чувство что он либо не правильно сделан(в плане логики) или в плане еще чего нибудь. Если конкретнее то мне не нравится то что пришлось установить i = 0
Я бы изменил мир, но бог не дает исходников (c)
И сказал мыслитель, напиши свою проблему на бумаге и ты увидишь свои ошибки. |
04.01.2011, 02:02 | #5 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 199
|
у тебя тут последний элемент не просумируется (хотя наверно те и ненужно его прибавлять), с 0ля идет потому что у тебя на каждое валидное(не = 9999) число идет прибавление +1 тоесть 5 раз тело отработало будет 5 в i = количество элементов не считая последнего
ну и среднее число надо бы в дробном виде а то это уже не среднее выходит. а так вроде должно правильно быть, но стиль конечно индусский ЗЫ: а то что ненравится с 0ля это плохо видать ты с паскаля перешел они там любят путаницу с этой единицей вводить. с 0ля обычно удобнее все делать, просто пойми что с 0ля это не счет идет а индексация Последний раз редактировалось UltimaBeaR; 04.01.2011 в 02:05. |
04.01.2011, 02:10 | #6 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 109
|
да число 9999 не должно суммироваться, иначе бы использовал бы цикл do...while.
насчет прибавления я понял так, что в этом коде после введение 9999, i все равно увеличивается на единицу. Т.е. если i будет идти от 1 при вводе 5 чисел, он выведет что введено 6 чисел. Среднее да дробным вот ток что переделал Стиль индусский т.к. две недели C++ учу. До этого был паскаль в инсте один месяц, потом годовой перерыв до C++ в общем то . Вот стиль и кривой. Учу кстати сам без учебки нигде сейчас не учусь. Ну а так наверное все не так без надежно в моем случае Спасибо за ответы и помощь.
Я бы изменил мир, но бог не дает исходников (c)
И сказал мыслитель, напиши свою проблему на бумаге и ты увидишь свои ошибки. |
04.01.2011, 02:47 | #7 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 199
|
нет в этом коде при вводе 9999 после ввода тело цикла уже не выполнится и не выполнится i++
в твоем случае я бы сделал так: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Делфи.среднее геометрическое элементов массива.среднее арифметическое каждой строки матрицы | Karrina | Помощь студентам | 0 | 06.12.2010 18:32 |
средне горманическое значение | nazamat | Помощь студентам | 0 | 22.11.2010 00:15 |
как посчитать среднее арифметическое значение | CraZZy RabbIt | Общие вопросы Delphi | 5 | 14.03.2009 13:59 |