Форум программистов, компьютерный форум CyberForum.ru

Найти среднее арифметическое - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
chkdsk
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
22.01.2012, 15:30     Найти среднее арифметическое #1
Задачка...
Вводится последовательность из N целых чисел. Найти среднее арифметическое его цифр (функцией оформить определения среднего арифметического цифр числа).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 15:49     Найти среднее арифметическое #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <vector>
#include <algorithm>
 
double arithmetic_mean(long num) 
{
   int total = 0;
   int cnt = 0;
   do
   {
      total += num % 10;
      ++cnt;
   }
   while ( num /= 10 );
   return total / static_cast<double> (cnt);
}     
 
int main()
{
   std::vector<int> v = {52, 23, 33};
   double total = 0.0;
   std::for_each(v.begin(), v.end(), [&] ( int val ) { total += arithmetic_mean(val); });  
   std::cout << total / v.size() << std::endl;
   return 0;
}
http://liveworkspace.org/code/e6f7e7...3d7b81c753f388
chkdsk
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
22.01.2012, 16:25  [ТС]     Найти среднее арифметическое #3
Спасибо, но эму чёт тут не нравится ...
Цитата Сообщение от go Посмотреть сообщение
std::vector<int> v = {52, 23, 33};
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 16:27     Найти среднее арифметическое #4
Цитата Сообщение от chkdsk Посмотреть сообщение
Спасибо, но эму чёт тут не нравится ...
Что? С++11
chkdsk
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
22.01.2012, 17:01  [ТС]     Найти среднее арифметическое #5
error C2552: v: инициализация не агрегированных данных с помощью списка инициализации не допускается

IntelliSense: инициализация объектов типа "std::vector<int, std::allocator<int>>" с помощью выражения {...} не допускается
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 17:04     Найти среднее арифметическое #6
chkdsk, Да понял я. вот читайте http://ru.wikipedia.org/wiki/C%2B%2B...86.D0.B8.D0.B8
Я думаю в состоянии сами переделать теперь под старый стандарт
chkdsk
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
22.01.2012, 22:00  [ТС]     Найти среднее арифметическое #7
так...?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <vector>
#include <algorithm>
 
double arithmetic_mean(long num) 
{
 int total = 0;
 int cnt = 0;
 do
 {
 total += num % 10;
 ++cnt;
 }
 while ( num /= 10 );
 return total / static_cast<double> (cnt);
} 
int main()
{
 int a[3] = {52, 23, 33};
 double total = 0.0;
 std::vector<int> v;for(int i=0;i<3;v.push_back(a[i++])); 
 std::cout << total / v.size() << std::endl;
 return 0;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 22:09     Найти среднее арифметическое #8
chkdsk, вектор проинициализировать вы смогли, а куда 22-ую строку задевали?
chkdsk
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
22.01.2012, 22:16  [ТС]     Найти среднее арифметическое #9
так ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <vector>
#include <algorithm>
 
double arithmetic_mean(long num) 
{
   int total = 0;
   int cnt = 0;
   do
   {
      total += num % 10;
      ++cnt;
   }
   while ( num /= 10 );
   return total / static_cast<double> (cnt);
}     
int main()
{
   int a[3] = {52, 23, 33};
   double total = 0.0;
   std::vector<int> v;for(int i=0;i<3;v.push_back(a[i++])); 
   std::for_each(v.begin(), v.end(), [&] ( int val ) { total += arithmetic_mean(val); });  
   std::cout << total / v.size() << std::endl;
   return 0;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 22:29     Найти среднее арифметическое #10
Цитата Сообщение от chkdsk Посмотреть сообщение
так ?
Да. Так.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2012, 22:32     Найти среднее арифметическое
Еще ссылки по теме:

C++ Даны два целых числа; найти их среднее арифметическое, их среднее геометрическое
Найти среднее геометрическое и среднее арифметическое элементов главной диагонали матрицы C++
Найти среднее арифметическое и среднее геометрическое заданных чисел C++

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

Или воспользуйтесь поиском по форуму:
chkdsk
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
22.01.2012, 22:32  [ТС]     Найти среднее арифметическое #11
спасибо=)
Yandex
Объявления
22.01.2012, 22:32     Найти среднее арифметическое
Ответ Создать тему
Опции темы

Текущее время: 12:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru