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

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

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

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

24.01.2012, 15:58. Просмотров 569. Ответов 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++
C++ Найти среднее арифметическое и среднее геометрическое чисел
C++ Объявить переменные целочисленного типа с инициаторами в 10, 16 и 8- системах счисления. Получить среднее арифметическое и среднее геометрическое чисе
C++ Найти среднее арифметическое и среднее геометрическое чисел
среднее арифметическое C++
C++ Среднее арифметическое
Среднее арифметическое и среднее геометрическое C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 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
5429 / 1812 / 332
Регистрация: 10.12.2010
Сообщений: 5,366
Записей в блоге: 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
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 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
2537 / 1302 / 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
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 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++
Вычислить среднее геометрическое, или среднее арифметическое, или произведение в зависимости от четности чисел C++

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 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     среднее арифметическое!
Ответ Создать тему
Опции темы

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