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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
beliall
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 31
#1

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

24.01.2012, 15:58. Просмотров 581. Ответов 9
Метки нет (Все метки)

Помогите разобраться что я не так сделал! Нужно написать программу чтоб с клавиатуры вводится 10 чисел и вывести среднее арифметическое всех четных чисел!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# include<iostream>
using namespace std;
int main(){
int n=10;
int a,b=0;
 
for(int k=1; k==n; k++)
{
cin >> a ;
if(!a%2)
 b=b+a;
}
cout << b;
    
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2012, 15:58     среднее арифметическое!
Посмотрите здесь:

Получить среднее арифметическое и среднее геомерическое элементов последовательности - C++
Даны действительные числа a1, a2… Известно, что а1&gt;0 и что среди a2, a3… есть хотя бы одно отрицательное число.Пусть a1,…, an – члены...

Среднее арифметическое и среднее геометрическое - C++
Помогите написать программу Запрещено создавать темы с бессмысленными названиями вроде &quot;Помогите!&quot;, &quot;Вопрос&quot; и т.п.

Среднее арифметическое и среднее геометрическое - C++
Описать функцию Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X+Y)/2 и среднее геометрическое GMean = (X•Y)1/2 двух...

Среднее арифметическое - C++
Дана матрица 3 строки и 4 столбца. Найти среднее арифметическое нечетных елементов каждого столбца! программу нужно написать на с!

среднее арифметическое - C++
Добрый день, пишу программу которая вычисляет среднее арифметическое элементов массива. Неполучается вывести среднее арифметическое на...

среднее арифметическое - C++
Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции f=(x*sin⁡ π/4) / (1-2x*(cos⁡...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2012, 16:02     среднее арифметическое! #2
Условие выхода из цикла: k <= n;
И пока что вы считаете просто сумму всех чётных чисел.
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
24.01.2012, 16:02     среднее арифметическое! #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# include<iostream>
using namespace std;
int main()
{
    int n=10;
    int a,b=0;
 
    for(int k = 1; k <= n; k++)
    {
        cin >> a;
        if(a % 2 == 0)
            b=b+a;
    }
    cout << b / n;
    return 0;
}
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
24.01.2012, 16:03     среднее арифметическое! #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
int main()
{
  int i,n,digit,cnt;
  cnt=0;
  double sred=0.0;
  n=10;
  for(i=0;i<n;i++)
  {
    cin>>digit;
    if(digit%2==0)
    {
      cnt++;
      sred=sred+digit;
    }
  }
  sred=sred/cnt;
  cout<<sred<<endl;
  return 0;
}
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2012, 16:05     среднее арифметическое! #5
amor1k, неверно. Вы делите на общее количество чисел, но если только половина из них чётная?
beliall
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 31
24.01.2012, 16:58  [ТС]     среднее арифметическое! #6
Вроде код исправил! а результат не считается например ввожу 10 чисел из них два числа четные например 2 получаем (2+2)/2 должно получиться 2 а выводит 0.4!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# include<iostream>
using namespace std;
int main(){
int n=10;
int c=0,a,k;
double b=0.0;
for( k=0; k<n; k++)
{
cin >> a ;
if(a%2==0)
 b=b+a;
 c=c++;
}
b=b/c;
cout << b;
    
 
    return 0;
}
soon
2539 / 1304 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.01.2012, 17:04     среднее арифметическое! #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstdlib>
 
int main()
{
    int x;
    std::size_t count = 0, sum = 0;
    while(std::cin >> x)
        if(!(x & 1))
        {
            sum += x;
            ++count;
        }
    std::cout << static_cast<double>(sum) / count << std::endl;
    return 0;
}
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2012, 17:08     среднее арифметическое! #8
beliall, если конкретно по вашему коду, то проблема в том, что в if надо заключить как прибавление очередного числа к общей сумме, так и увеличение количества чётных чисел. У вас же последнее происходит независимо от условия, потому счётчик увеличивается каждый раз.
beliall
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 31
24.01.2012, 17:25  [ТС]     среднее арифметическое! #9
Все разобрался будет так!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# include<iostream>
using namespace std;
int main(){
int n=10;
int c=0,a,k,b=0;
for( k=0; k<n; k++)
{
cin >> a ;
if(a%2==0)
b=b+a; 
if(a%2==0)
c=c++;
}
b=b/c;
cout << b<< endl;
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2012, 17:28     среднее арифметическое!
Еще ссылки по теме:

Среднее арифметическое - C++
Ситуация такая. В данной программе я нахожу среднее арифметическое стольки чисел, скольких введу. Проблемма в том, что при вводе одного...

среднее арифметическое - C++
Написать программу которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива. Для...

Модуль и среднее арифметическое - C++
Написать собственную функцию вычисления модуля числа и использовать ее для вычисления среднего арифметического. Что то я вообще не пойму...

Найти среднее арифметическое - C++
Найти среднее арифметическое отрицательных элементов массива а из N элементов. Значение n задается с клавиатуры массив определяется...


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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2012, 17:28     среднее арифметическое! #10
beliall, ну а если упростить, избавиться от дублирования кода и (что самое главное) от одной лишней проверки, а также от некоторых лишних операций, то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# include<iostream>
using namespace std;
int main(){
int n=10;
int c=0,a,k,b=0;
for( k=0; k<n; k++)
{
cin >> a ;
if(a%2==0)
{
b+=a;
c++;
}
}
b/=c;
cout << b<< endl;
return 0;
}
Yandex
Объявления
24.01.2012, 17:28     среднее арифметическое!
Ответ Создать тему
Опции темы

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