Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
fesswow
0 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 16
#1

Найдите среднее арифметическое в массиве

01.08.2015, 21:51. Просмотров 237. Ответов 11
Метки нет (Все метки)

Задача найти в массиве среднее арифметическое . Задача не сложная , алгоритм тоже простой сложи все элементы массива и подели на кол-во элементов в массиве и будет тебе счастье.

Вот кусок моего кода :
C++
1
2
3
4
5
6
for(int i=0;i <= 9 ;i++)
    {
        temp = A[i]+A[i+1];
    }
 
    temp = temp / 9;
(здесь цикл который складывает значение всех элементов.)

Более опытные товарищи пожалуйста подскажите в чем моя ошибка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2015, 21:51
Ответы с готовыми решениями:

В прямоугольном массиве найдите номера, у которых среднее арифметическое элементов меньше заданной величины
Программа запускается. Но при вводе массив просто отключается что не так? ...

Найдите среднее арифметическое четных элементов очереди
Найдите среднее арифметическое четных элементов очереди. Помогите пожалуйста !)

Найдите сумму, количество и среднее арифметическое всех натуральных двухзначное
Найдите сумму, количество и среднее арифметическое всех натуральных двухзначное...

Введите три числа и найдите их сумму, произведение и среднее арифметическое.
Введите три числа и найдите их сумму, произведение и среднее арифметическое....

Найдите сумму, количество и среднее арифметическое всех натуральных двухзначных чисел
Найдите сумму, количество и среднее арифметическое всех натуральных двухзначное...

11
castaway
Эксперт С++
4930 / 3037 / 453
Регистрация: 10.11.2010
Сообщений: 11,116
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 22:01 #2
Цитата Сообщение от fesswow Посмотреть сообщение
Более опытные товарищи пожалуйста подскажите в чем моя ошибка.
Переменная temp не типа double?
0
fesswow
0 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 16
01.08.2015, 22:10  [ТС] #3
переменная temp типа int
0
castaway
Эксперт С++
4930 / 3037 / 453
Регистрация: 10.11.2010
Сообщений: 11,116
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 22:15 #4
Цитата Сообщение от fesswow Посмотреть сообщение
переменная temp типа int
Нет. Переменная temp типа double.
0
tnk500
114 / 118 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
Завершенные тесты: 3
01.08.2015, 22:20 #5
fesswow, присмотритесь к операции присваивания темпа и сложению переменных. Похоже на сумму всех элементов?
0
Croessmah
++Ͻ
14544 / 8303 / 1560
Регистрация: 27.09.2012
Сообщений: 20,371
Записей в блоге: 3
Завершенные тесты: 1
01.08.2015, 22:36 #6
Цитата Сообщение от fesswow Посмотреть сообщение
Более опытные товарищи пожалуйста подскажите в чем моя ошибка.
C++
1
temp = A[i]+A[i+1]; //В результате получим только сумму двух элементов, да еще с выходом за пределы, если элементов меньше 11 в данном случае
переделываем на
C++
1
temp += A[i] ;
Естественно перед циклом обнуляем temp.

Цитата Сообщение от fesswow Посмотреть сообщение
C++
1
2
3
for(int i=0;i <= 9 ;i++)//Цикл по 10-и элементам
//...
temp = temp / 9;//А делим на 9
Ну тут сложно что-то предложить, т.к. неизвесто что там представляет из себя A.

C++
1
temp = temp / 9;//Если temp целочисленного типа, то получим целочисленное деление (о дробной части можете забыть)
можно решить так:
C++
1
double result = static_cast<double>(temp) / 9 ; //или на 10, сколько у Вас там элементов - не ясно
1
kuza84
-4 / 23 / 7
Регистрация: 25.04.2013
Сообщений: 195
01.08.2015, 22:50 #7
а не проще ли так в цикле складывать:
C++
1
2
3
temp=0;
...... 
temp=temp+A[i];
или
C++
1
temp+=A[i];
0
castaway
01.08.2015, 22:56
  #8

Не по теме:

Croessmah, нарушаешь идилию.

0
Croessmah
01.08.2015, 22:57
  #9

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
нарушаешь идилию.
извинтиляюсъ :pardon:

0
Tulosba
:)
Эксперт С++
4748 / 3242 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.08.2015, 23:01 #10
std::accumulate с начальным значением 0.0 и всё будет тип-топ
0
fesswow
0 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 16
02.08.2015, 00:07  [ТС] #11
Croessmah , спасибо большое я понял свою ошибку. А почему происходил выход за пределы ?
0
ValeryS
Модератор
7226 / 5487 / 684
Регистрация: 14.02.2011
Сообщений: 18,560
02.08.2015, 00:12 #12
Цитата Сообщение от fesswow Посмотреть сообщение
А почему происходил выход за пределы ?
а посмотри
C++
1
2
3
int A[10]
for(int i=0;i<=9;i++)
 temp = A[i]+A[i+1];
к какому элементу обратится A[i+1] при i равной 9?
0
02.08.2015, 00:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2015, 00:12

Для каждой строки массива найдите среднее арифметическое положительных чётных чисел
в целочисленном массиве A(n,m) для каждой строки найдите среднее арифметическое...

Задан массив из 10 целых чисел. Найдите среднее арифметическое всех четных элементов массива
Задан массив из 10 целых чисел. Найдите среднее арифметическое всех четных...

Среднее арифметическое в массиве
Проверьте пожалуйста задачу: Задано количество строк и столбцов, матрица не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru